docker_004_容器_(镜像构建) 重点!!!!

1.构建镜像的两种方式

   1. docker commit  (通过容器的构建)

   2. docker build     (通过Dockerfile文件的构建)

2.方式一:例子:

    2.1 《首先启动一个交互式容器

        fantiejun@ubuntu:~$ sudo docker run -it -p 80 --name commit_test2 ubuntu /bin/bash
      root@bb6288107041:/# apt-get update                                                                   #在这个容器内,执行该命令,对 这个容器进行修改

     root@bb6288107041:/# apt-get install  -y nginx                      # 通过apt-get 来安装 nginx服务器

   exit                                             #从容器中退出

          fantiejun@ubuntu:~$ sudo docker commit  -a 'fantiejun' -m nginx commit_test2 test1/test1             #1.创建镜像
                                                                          #test1/test1 是镜像名称  ;  -a作者信息  -m   

    #返回镜像id: 0698402b00e647ad2e40305e714bc1001eb4718b26641f4fc982957b500b6415
   
   fantiejun@ubuntu:~$ sudo docker images                                         #2.查看我创建的镜像信息

        fantiejun@ubuntu:~$ sudo docker images
        REPOSITORY          TAG                 IMAGE ID                   CREATED                    VIRTUAL SIZE
        test1/test1          latest               0698402b00e6        10 minutes ago         227.5 MB
        ubuntu                   latest              2fc17c1f5db4           10 days ago               132.8 MB

                                                  #3.以我创建的这个镜像为基础,用这个镜像 来运行一个容器

        fantiejun@ubuntu:~$ sudo docker run -d --name  nginx_web5 -p 81  test1/test1 nginx -g "daemon off;"
                                                   #4  启动容器的命令 参数意义

                                                   #(-d 后台启动  ;--name 容器名称 ;-p 81 容器映射的端口)
                                                   # test1/test1  库的名称  

                                                   # nginx -g "daemon off ;"  后台启动nginx服务器

        fantiejun@ubuntu:~$ curl http://localhost:32773                      #4 访问 这个端口

       首先,容器的修改 ->保存到镜像当中.

      然后,  创建新的镜像

      再次 , 启动镜像,启动镜像的时候,启动 web服务器。(可以重复启动镜像程序)

    

2.方式二:例子:

      构建一个镜像文件,有很多个步骤,把这些个步骤,写成脚本,然后让docker来执行这个脚本。

 

posted on 2016-07-10 20:39  fantiejun0436  阅读(113)  评论(0)    收藏  举报

导航