以下使用自研项目e-commerce的auth-service子模块为例说明。远程镜像仓库使用aliyun的容器镜像服务。
1.创建一个工作目录。
我这里使用auth-service子模块的target目录作为工作目录。主要是方便生成jar包。
2.新建一个Dockerfile文件。
这个需要给Idea安装docker插件,可以帮忙检查Dockerfile文件。
3.编辑Dockerfile文件。
Dockerfile配置内容(在Idea里面写Dockerfile会有提示)
FROM java:8
#发布到网上时只会把jar包和Dockerfile发布上去
COPY *.jar /auth-service.jar
#地址映射
CMD ["--server.port=8111"]
#对外暴露端口
EXPOSE 8111
#执行命令
ENTRYPOINT ["java","-jar","/auth-service.jar"]
4.使用docker build命令构建镜像。
执行docker build命令构建镜像:
docker build -f Dockerfile -t auth-service:0.0.1-SNAPSHOT .
5.创建容器。
执行以下docker run命令创建容器:
docker run --name auth-service -p 8111:8111 -d auth-service:0.0.1-SNAPSHOT
6.进入容器并执行命令。
执行以下docker exec命令进入容器:
docker exec -it 20d1ea2e0552 ip add
7.推送镜像到私有镜像仓库。
docker login --username=aliyunxxx registry.cn-hangzhou.aliyuncs.com
docker tag 5d3dd83b93ec registry.cn-hangzhou.aliyuncs.com/xxx/auth-service:0.0.1-SNAPSHOT
docker push registry.cn-hangzhou.aliyuncs.com/xxx/auth-service:0.0.1-SNAPSHOT