1. 单独Dockerfile

Dockerfile文件

FROM frolvlad/alpine-oraclejre8:slim
VOLUME /usr/test
# 根据目录情况调整
ADD ./project-register.jar register.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+8","-jar","/register.jar"]
EXPOSE 8761

打包镜像

# mvn打包
mvn clean install -DskipTests
# 镜像打包
cd project-register/ #dockerfile文件目录
docker build -t project/register .  # .不能丢

2. Dockerfile + Maven

Dockerfile文件(同上)

pom.xml文件

<!-- 参数 -->
<docker.directory>src/main/docker</docker.directory>
<docker.host>tcp://127.0.0.1:2375</docker.host>
<docker.env>/local</docker.env>

<!-- 插件 -->
<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.14</version>
				<configuration>
<imageName>${project.parent.artifactId}/${project.artifactId}${docker.env}</imageName>
					<dockerDirectory>${docker.directory}</dockerDirectory>
					<!-- <dockerHost>${docker.host}</dockerHost> -->
					<resources>
						<resource>
							<targetPath>/</targetPath>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
</plugin>

打包镜像

# 单一项目打包
cd project-register/
mvn clean package docker:build -DskipTests

 

3. Dockerfile + Docker Compose

Dockerfile文件(同上)

build.xml文件

services:

  register:    
# 镜像名称          
    image: project/project-register${ENV}
    build:
      context: ./
# dockerfile文件
      dockerfile: Dockerfile/project-register

  config:              
    image: project/project-config${ENV}
    build:
      context: ./
      dockerfile: Dockerfile/project-config

  gateway:              
    image: project/project-gateway${ENV}
    build:
      context: ./
      dockerfile: Dockerfile/project-gateway

version: '2'

local.env文件

# env config
ENV=/local

打包镜像

# mvn 打包
mvn clean install -DskipTests
# docker compose 批量打包
docker-compose --env-file local.env -f build.yml build

4. 常用命令

删除无效镜像: docker image prune --filter="dangling=true" 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐