• docker镜像的导入和导出


    启动命令

    
    docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3
    
    docker run -d -p 8080:80 gitlab/gitlab-ce:latest

    将容器修改提交到镜像

    
    # 进入容器内部
    [root@#localhost docker]# docker run -ti  ubuntu:14.04 /bin/bash
    root@812a997f614a:/# id 
    uid=0(root) gid=0(root) groups=0(root)
    
    #做了一些修改
    root@812a997f614a:/# echo update>update.txt
    root@812a997f614a:/# exit
    exit
    
    [root@#localhost docker]# docker ps -a
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                           PORTS                                   NAMES
    812a997f614a        ubuntu:14.04                   "/bin/bash"              7 minutes ago       Exited (0) 22 seconds ago                                                zealous_euler
    69304dea46c7        gitlab/gitlab-ce:latest        "/assets/wrapper"        About an hour ago   Exited (127) 44 minutes ago                                              competent_minsky
    67ba866e21b0        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (137) About an hour ago                                           hungry_hoover
    2a3d08a0a2ff        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        2 hours ago         Exited (137) About an hour ago                                           nervous_wozniak
    6db49540be99        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        2 hours ago         Exited (255) 2 hours ago         22/tcp, 443/tcp, 0.0.0.0:3000->80/tcp   romantic_elion
    b08a6d6ed716        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (255) 2 hours ago         22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp   competent_brahmagupta
    33fd0b1ebd27        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (127) 2 hours ago                                                 loving_brattain
    6f53620a930c        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        3 hours ago         Exited (127) 2 hours ago                                                 brave_galileo
    88df78f77c4e        ubuntu:14.04                   "sleep 360"              4 days ago          Exited (137) 4 days ago                                                  testcopy
    81a879a36bd3        wordpress                      "docker-entrypoint..."   4 days ago          Exited (0) 4 days ago                                                    wordpress
    a57a3cc492b7        mysql                          "docker-entrypoint..."   4 days ago          Exited (0) 4 days ago                                                    mysqlwp
    
    # 将修改多的镜像保存成一个新的
    [root@#localhost docker]# docker commit 812a997f614a ubuntu:update
    sha256:317f102584605694da424bc96764559a1ccfda13943353f4cbdfd89c96515e6b
    
    [root@#localhost docker]# docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                      update              317f10258460        5 seconds ago       188 MB
    twang2218/gitlab-ce-zh      9.0.3               36172b5fefab        44 hours ago        1.19 GB
    gitlab/gitlab-ce            latest              5eff2e44957c        2 days ago          1.11 GB
    mysql                       latest              9546ca122d3a        8 days ago          407 MB
    wordpress                   latest              4ad41adc2794        2 weeks ago         401 MB
    ubuntu                      14.04               7c09e61e9035        5 weeks ago         188 MB
    daocloud.io/library/nginx   1.7.1               e3e043d3ed2f        2 years ago         499 MB
    
    # 查看修改多的镜像和原来镜像之间的差异
    [root@#localhost docker]# docker diff 812a997f614a
    C /var
    C /var/cache
    C /var/cache/apt
    D /var/cache/apt/srcpkgcache.bin
    D /var/cache/apt/pkgcache.bin
    C /var/lib
    C /var/lib/apt
    C /var/lib/apt/lists
    A /var/lib/apt/lists/lock
    A /var/lib/apt/lists/partial
    A /var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_trusty-updates_InRelease
    A /update.txt
    C /root
    A /root/.bash_history
    [root@#localhost docker]# 
    

    镜像的导入和导出

    export 和improt

    
    [root@#localhost docker]# docker run -ti  ubuntu:update /bin/bash
    root@cbe3cb7799ed:/# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  update.txt  usr  var
    
    [root@#localhost docker]# 
    [root@#localhost docker]# docker ps -a
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                        PORTS                                   NAMES
    cbe3cb7799ed        ubuntu:update                  "/bin/bash"              47 seconds ago      Exited (1) 6 seconds ago                                              adoring_kare
    812a997f614a        ubuntu:14.04                   "/bin/bash"              16 minutes ago      Exited (0) 8 minutes ago                                              zealous_euler
    69304dea46c7        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (127) 53 minutes ago                                           competent_minsky
    67ba866e21b0        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (137) 2 hours ago                                              hungry_hoover
    2a3d08a0a2ff        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        2 hours ago         Exited (137) 2 hours ago                                              nervous_wozniak
    6db49540be99        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        2 hours ago         Exited (255) 2 hours ago      22/tcp, 443/tcp, 0.0.0.0:3000->80/tcp   romantic_elion
    b08a6d6ed716        gitlab/gitlab-ce:latest        "/assets/wrapper"        2 hours ago         Exited (255) 2 hours ago      22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp   competent_brahmagupta
    33fd0b1ebd27        gitlab/gitlab-ce:latest        "/assets/wrapper"        3 hours ago         Exited (127) 2 hours ago                                              loving_brattain
    6f53620a930c        twang2218/gitlab-ce-zh:9.0.3   "/assets/wrapper"        3 hours ago         Exited (127) 2 hours ago                                              brave_galileo
    88df78f77c4e        ubuntu:14.04                   "sleep 360"              4 days ago          Exited (137) 4 days ago                                               testcopy
    81a879a36bd3        wordpress                      "docker-entrypoint..."   4 days ago          Exited (0) 4 days ago                                                 wordpress
    a57a3cc492b7        mysql                          "docker-entrypoint..."   4 days ago          Exited (0) 4 days ago                                                 mysqlwp
    
    # 将镜像导出到文件
    [root@#localhost docker]# docker export cbe3cb7799ed > update.tar
    
    
    # 创建一个新静像从基于导出的文件
    [root@#localhost /]# docker import - update < update.tar 
    sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
    [root@#localhost /]# docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    update                      latest              fd00d520a43e        13 seconds ago      165 MB
    ubuntu                      update              317f10258460        11 minutes ago      188 MB
    twang2218/gitlab-ce-zh      9.0.3               36172b5fefab        44 hours ago        1.19 GB
    gitlab/gitlab-ce            latest              5eff2e44957c        2 days ago          1.11 GB
    mysql                       latest              9546ca122d3a        8 days ago          407 MB
    wordpress                   latest              4ad41adc2794        2 weeks ago         401 MB
    ubuntu                      14.04               7c09e61e9035        5 weeks ago         188 MB
    daocloud.io/library/nginx   1.7.1               e3e043d3ed2f        2 years ago         499 MB
    [root@#localhost /]# 

    save 和load

    (像当与镜像的备份和恢复)

    # update是一个已经存在的镜像
    [root@#localhost /]# docker save -o update1.tar update
    [root@#localhost /]# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  update1.tar  update.tar  usr  var
    [root@#localhost /]# du -sh update1.tar 
    166M    update1.tar
    
    # 删除update镜像
    [root@#localhost /]# docker rmi update
    Untagged: update:latest
    Deleted: sha256:fd00d520a43eb5dc6cca8717fe0ca04cfdc53b02cad2fb5b50d877b8e6d6c3bc
    Deleted: sha256:14cc8cd7b783152682835346e5fe90860a9feeb684866688692285319d4e97ad
    
    [root@#localhost /]# docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                      update              317f10258460        16 minutes ago      188 MB
    twang2218/gitlab-ce-zh      9.0.3               36172b5fefab        44 hours ago        1.19 GB
    gitlab/gitlab-ce            latest              5eff2e44957c        2 days ago          1.11 GB
    mysql                       latest              9546ca122d3a        8 days ago          407 MB
    wordpress                   latest              4ad41adc2794        2 weeks ago         401 MB
    ubuntu                      14.04               7c09e61e9035        5 weeks ago         188 MB
    daocloud.io/library/nginx   1.7.1               e3e043d3ed2f        2 years ago         499 MB
    
    #导入镜像
    [root@#localhost /]# docker load < update1.tar 
    14cc8cd7b783: Loading layer [==================================================>] 173.8 MB/173.8 MB
    Loaded image: update:latest
    [root@#localhost /]# docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    update                      latest              fd00d520a43e        6 minutes ago       165 MB
    ubuntu                      update              317f10258460        17 minutes ago      188 MB
    twang2218/gitlab-ce-zh      9.0.3               36172b5fefab        44 hours ago        1.19 GB
    gitlab/gitlab-ce            latest              5eff2e44957c        2 days ago          1.11 GB
    mysql                       latest              9546ca122d3a        8 days ago          407 MB
    wordpress                   latest              4ad41adc2794        2 weeks ago         401 MB
    ubuntu                      14.04               7c09e61e9035        5 weeks ago         188 MB
    daocloud.io/library/nginx   1.7.1               e3e043d3ed2f        2 years ago         499 MB
    [root@#localhost /]# 

    Dockerfile

    
    [root@#localhost ~]# mkdir docker_file
    [root@#localhost ~]# cd docker_file/
    
    [root@#localhost docker_file]# vi Dockerfile 
    
    [root@#localhost docker_file]# cat Dockerfile 
    FROM ubuntu:14.04
    
    ENTRYPOINT ["/bin/echo"]
    
    [root@#localhost docker_file]# docker build .
    Sending build context to Docker daemon 2.048 kB
    Step 1/2 : FROM ubuntu:14.04
     ---> 7c09e61e9035
    Step 2/2 : ENTRYPOINT /bin/echo
     ---> Running in d53f31b93355
     ---> 26dd06d2e5a5
    Removing intermediate container d53f31b93355
    Successfully built 26dd06d2e5a5
    
    #运行镜像
    
    [root@#localhost docker_file]# docker run 26dd06d2e5a5
    
    #加入一个参数
    
    [root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
    hello world
    [root@#localhost docker_file]# vi Dockerfile 
    [root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
    hello world
    
    
    #
    [root@#localhost docker_file]# cat Dockerfile 
    FROM ubuntu:14.04
    
    #ENTRYPOINT ["/bin/echo","Hi world!"]
    CMD ["/bin/echo","Hi world!"]
    
    [root@#localhost docker_file]# docker build .
    [root@#localhost docker_file]# docker run 12458a717ced
    Hi world!
    
    
    [root@#localhost docker_file]# docker run 12458a717ced /bin/date 
    Sat Apr  8 12:08:14 UTC 2017
    

    构建的时候打个标签

    
    [root@#localhost docker_file]# docker build -t yang:01 .
    Sending build context to Docker daemon 3.584 kB
    Step 1/2 : FROM ubuntu:14.04
     ---> 7c09e61e9035
    Step 2/2 : CMD /bin/echo Hi world!
     ---> Running in 94e510f085d7
     ---> 6b33c8a6a32f
    Removing intermediate container 94e510f085d7
    Successfully built 6b33c8a6a32f
    [root@#localhost docker_file]# docker images
    REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
    yang                        01                  6b33c8a6a32f        5 seconds ago       188 MB
    update                      latest              fd00d520a43e        29 minutes ago      165 MB
    ubuntu                      update              317f10258460        41 minutes ago      188 MB
    twang2218/gitlab-ce-zh      9.0.3               36172b5fefab        44 hours ago        1.19 GB
    gitlab/gitlab-ce            latest              5eff2e44957c        2 days ago          1.11 GB
    mysql                       latest              9546ca122d3a        8 days ago          407 MB
    wordpress                   latest              4ad41adc2794        2 weeks ago         401 MB
    ubuntu                      14.04               7c09e61e9035        5 weeks ago         188 MB
    daocloud.io/library/nginx   1.7.1               e3e043d3ed2f        2 years ago         499 MB
    [root@#localhost docker_file]# 

    构建实例

    将flask应用 打包的镜像中

    编写python程序 hellp.py

    #!/usr/bin/env python
    
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/hi')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5000)
    

    编写Dockerfile

    FROM ubuntu:14.04
    
    RUN apt-get update
    RUN apt-get install -y python
    RUN apt-get install -y python-pip
    RUN apt-get clean all
    
    RUN pip install flask
    
    ADD hello.py /tmp/hello.py
    
    EXPOSE 5000
    
    CMD ["python","/tmp/hello.py"]
    版权声明:本文为博主原创文章,转载务必说明原文地址。 https://blog.csdn.net/x6_9x/article/details/72891404
     
  • 相关阅读:
    一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
    测试人员在软件开发过程中的任务
    HDOJ1754(线段树)
    HDOJ1166(线段树,树状数组)
    分治法
    POJ1840(哈希)
    HOOJ1290 2050(递推)
    POJ1035(字符串)
    HDOJ1800(哈希)
    POJ2299(归并排序)
  • 原文地址:https://www.cnblogs.com/wangmo/p/8727244.html
Copyright © 2020-2023  润新知