docker一键构建镜像推送到阿里云仓库
一.docker使用
1.以交互方式进入docker容器
docker exec -it 容器id /bin/bash
2.备份镜像
docker save -o test.tar test 备份镜像打包成tar包
3.还原镜像
docker load -i test.tar 还原tar包成镜像
二.本地打包镜像
可以在阿里云建一个自己的镜像仓库,然后把自己做的镜像放到自己的镜像仓库中。以后如果有用到可以直接拉取。
- 构建镜像 docker build -t xxx.jar .
- 登录阿里云仓库 docker login --username=你的用户名 registry.cn-hangzhou.aliyuncs.com
- 指定版本号 docker tag:镜像id regsitry.cn-hangzhou.aliyuncs.com/仓库名/镜像名:版本号
- push到阿里云仓库 docker push registry.cn-hangzhou.aliyuncs.com/仓库名/镜像名:版本号
三.本地一键构建镜像推送到阿里云仓库
springboot本地一键构建镜像推送到阿里云仓库
-
在pom文件下的中添加
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.12</version> <configuration> <imageName>${docker.repostory}/${docker.registry.name}/docker-compose:server</imageName> <!-- 指定Dockerfile所在的路径 --> <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <serverId>docker-aliyun</serverId> <registryUrl>${docker.repostory}</registryUrl> <pushImage>true</pushImage> </configuration> </plugin>
其中标签下分别是:仓库地址,命名空间,仓库名称,镜像版本。
-
在pom文件下添加
<!--仓库地址--> <docker.repostory>registry.cn-hangzhou.aliyuncs.com</docker.repostory> <!--命名空间--> <docker.registry.name>hhhhire</docker.registry.name>
-
修改maven文件conf下的setting.xml,在标签下添加
<server> <id>docker-aliyun</id> <username>你的用户名</username> <password>登陆密码</password> <configuration> <email>你的邮箱</email> </configuration> </server>
-
在工程目录下创建docker文件夹,添加Dockerfile
FROM adoptopenjdk/openjdk8:latest WORKDIR /app RUN mkdir log COPY ./docker-compose.jar /app/docker-compose.jar EXPOSE 7001 ENTRYPOINT ["nohup", "java", "-jar", "docker-compose.jar"]
-
一键打包
mvn clean package docker:build -DpushImage
- 完整项目 (github)