docker学习整理(二)

使用镜像和仓库

镜像基本操作:

  查看镜像 docker images

  查找镜像 docker search XXXX

  拉取镜像 docker pull XXXX

  删除镜像 docker rmi XXXX

  

构建镜像

  两种方式 docker commit 和 docker build(Dockerfile文件)

  Dockerfile文件方式相当于批量执行commit

  Dockerfile构建镜像每一步的构建构成都会将结果提交到镜像中。

  构建方法: docker build -t="myfirstdocker:v1.0" .

  指令:

    1.CMD:用于指定一个容器启动时要运行的命令。

      docker run -i -t ubuntu /bin/bash  等同于  CMD ["/bin/bash"]

      运行的命令放到数组中,命令按顺序执行

    2.ENTRYPOINT:与CMD相似,只是该命令不能通过docker run参数覆盖ENTRYPOINT指令

    3.WORKDIR:新创建容器的时候,创建工作文件夹,并且CMD和ENTRYPOINT会在该目录下执行指令

    4.ENV:设置环境变量,比如设置JAVA_HOME等。  ENV JAVA_HOME /usr/local/jdk1.8

    5.USER:指定该镜像使用什么用户启动容器。  USER es

    6.VOLUME:

    7.ADD:将build上下文路径里的文件复制到新构建的镜像里面。(ADD jdk-11.0.9_linux-x64_bin.tar.gz /root/guanhao/

        目录以/结尾,不是“/”结尾的均为文件。压缩包默认会解压后放到目标文件中。

        所谓的 build 上下文就是 docker build 命令的 PATH 或 URL 指定的路径中的文件的集合。

        在镜像 build 过程中可以引用上下文中的任何文件,比如我们要介绍的 COPY 和 ADD 命令,就可以引用上下文中的文件。

 

        默认情况下 docker build -t testx . 命令中的 . 表示 build 上下文为当前目录。当然我们可以指定一个目录作为上下文,比如下面的命令:

 

        $ docker build -t testx /home/nick/hc

 

        ADD命令不能拷贝上下文以外路径的文件。

    8.COPY:与ADD类似,不同之处:COPY不进行解压。

    9.ONBUILD:

 

推送镜像

    推送镜像到docker Hub: docker push my, 默认会推送到root存储空间,无权限。需要修改repository到自己的账号下。(dockerHub账号ID)

    docker push ********/my ,由于本地没有*******/my镜像,所以需要通过tag命令重新打包。  docker tag my ********/my 。打包后,直接推送OK。 

         

 

 

 

 

   

  

posted on 2021-04-07 14:28  耗子0114  阅读(43)  评论(0编辑  收藏  举报

导航