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包成镜像

二.本地打包镜像

可以在阿里云建一个自己的镜像仓库,然后把自己做的镜像放到自己的镜像仓库中。以后如果有用到可以直接拉取。

  1. 构建镜像    docker build -t xxx.jar .
  2. 登录阿里云仓库    docker login --username=你的用户名 registry.cn-hangzhou.aliyuncs.com
  3. 指定版本号    docker tag:镜像id regsitry.cn-hangzhou.aliyuncs.com/仓库名/镜像名:版本号
  4. push到阿里云仓库    docker push registry.cn-hangzhou.aliyuncs.com/仓库名/镜像名:版本号

 三.本地一键构建镜像推送到阿里云仓库

springboot本地一键构建镜像推送到阿里云仓库

  1. 在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>
    

    其中标签下分别是:仓库地址,命名空间,仓库名称,镜像版本。

  1. 在pom文件下添加

    <!--仓库地址-->
    <docker.repostory>registry.cn-hangzhou.aliyuncs.com</docker.repostory>
    <!--命名空间-->
    <docker.registry.name>hhhhire</docker.registry.name>
    
  1. 修改maven文件conf下的setting.xml,在标签下添加

    <server>
        <id>docker-aliyun</id>
        <username>你的用户名</username>
        <password>登陆密码</password>
        <configuration>
            <email>你的邮箱</email>
        </configuration>
    </server>
    
  1. 在工程目录下创建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"]
    

  1. 一键打包

    mvn clean package docker:build -DpushImage
    
  1. 完整项目 (github)
原文地址:https://www.cnblogs.com/hhhhire/p/11808229.html