启动命令


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

将容器修改提交到镜像


  1. # 进入容器内部
  2. [root@#localhost docker]# docker run -ti ubuntu:14.04 /bin/bash
  3. root@812a997f614a:/# id
  4. uid=0(root) gid=0(root) groups=0(root)
  5. #做了一些修改
  6. root@812a997f614a:/# echo update>update.txt
  7. root@812a997f614a:/# exit
  8. exit
  9. [root@#localhost docker]# docker ps -a
  10. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  11. 812a997f614a ubuntu:14.04 "/bin/bash" 7 minutes ago Exited (0) 22 seconds ago zealous_euler
  12. 69304dea46c7 gitlab/gitlab-ce:latest "/assets/wrapper" About an hour ago Exited (127) 44 minutes ago competent_minsky
  13. 67ba866e21b0 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Exited (137) About an hour ago hungry_hoover
  14. 2a3d08a0a2ff twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 2 hours ago Exited (137) About an hour ago nervous_wozniak
  15. 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
  16. 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
  17. 33fd0b1ebd27 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Exited (127) 2 hours ago loving_brattain
  18. 6f53620a930c twang2218/gitlab-ce-zh:9.0.3 "/assets/wrapper" 3 hours ago Exited (127) 2 hours ago brave_galileo
  19. 88df78f77c4e ubuntu:14.04 "sleep 360" 4 days ago Exited (137) 4 days ago testcopy
  20. 81a879a36bd3 wordpress "docker-entrypoint..." 4 days ago Exited (0) 4 days ago wordpress
  21. a57a3cc492b7 mysql "docker-entrypoint..." 4 days ago Exited (0) 4 days ago mysqlwp
  22. # 将修改多的镜像保存成一个新的
  23. [root@#localhost docker]# docker commit 812a997f614a ubuntu:update
  24. sha256:317f102584605694da424bc96764559a1ccfda13943353f4cbdfd89c96515e6b
  25. [root@#localhost docker]# docker images
  26. REPOSITORY TAG IMAGE ID CREATED SIZE
  27. ubuntu update 317f10258460 5 seconds ago 188 MB
  28. twang2218/gitlab-ce-zh 9.0.3 36172b5fefab 44 hours ago 1.19 GB
  29. gitlab/gitlab-ce latest 5eff2e44957c 2 days ago 1.11 GB
  30. mysql latest 9546ca122d3a 8 days ago 407 MB
  31. wordpress latest 4ad41adc2794 2 weeks ago 401 MB
  32. ubuntu 14.04 7c09e61e9035 5 weeks ago 188 MB
  33. daocloud.io/library/nginx 1.7.1 e3e043d3ed2f 2 years ago 499 MB
  34. # 查看修改多的镜像和原来镜像之间的差异
  35. [root@#localhost docker]# docker diff 812a997f614a
  36. C /var
  37. C /var/cache
  38. C /var/cache/apt
  39. D /var/cache/apt/srcpkgcache.bin
  40. D /var/cache/apt/pkgcache.bin
  41. C /var/lib
  42. C /var/lib/apt
  43. C /var/lib/apt/lists
  44. A /var/lib/apt/lists/lock
  45. A /var/lib/apt/lists/partial
  46. A /var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_trusty-updates_InRelease
  47. A /update.txt
  48. C /root
  49. A /root/.bash_history
  50. [root@#localhost docker]#

镜像的导入和导出

export 和improt


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

save 和load

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

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

Dockerfile


  1. [root@#localhost ~]# mkdir docker_file
  2. [root@#localhost ~]# cd docker_file/
  3. [root@#localhost docker_file]# vi Dockerfile
  4. [root@#localhost docker_file]# cat Dockerfile
  5. FROM ubuntu:14.04
  6. ENTRYPOINT ["/bin/echo"]
  7. [root@#localhost docker_file]# docker build .
  8. Sending build context to Docker daemon 2.048 kB
  9. Step 1/2 : FROM ubuntu:14.04
  10. ---> 7c09e61e9035
  11. Step 2/2 : ENTRYPOINT /bin/echo
  12. ---> Running in d53f31b93355
  13. ---> 26dd06d2e5a5
  14. Removing intermediate container d53f31b93355
  15. Successfully built 26dd06d2e5a5
  16. #运行镜像
  17. [root@#localhost docker_file]# docker run 26dd06d2e5a5
  18. #加入一个参数
  19. [root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
  20. hello world
  21. [root@#localhost docker_file]# vi Dockerfile
  22. [root@#localhost docker_file]# docker run 26dd06d2e5a5 hello world
  23. hello world
  24. #
  25. [root@#localhost docker_file]# cat Dockerfile
  26. FROM ubuntu:14.04
  27. #ENTRYPOINT ["/bin/echo","Hi world!"]
  28. CMD ["/bin/echo","Hi world!"]
  29. [root@#localhost docker_file]# docker build .
  30. [root@#localhost docker_file]# docker run 12458a717ced
  31. Hi world!
  32. [root@#localhost docker_file]# docker run 12458a717ced /bin/date
  33. Sat Apr 8 12:08:14 UTC 2017

构建的时候打个标签


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

构建实例

将flask应用 打包的镜像中

编写python程序 hellp.py

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

编写Dockerfile

  1. FROM ubuntu:14.04
  2. RUN apt-get update
  3. RUN apt-get install -y python
  4. RUN apt-get install -y python-pip
  5. RUN apt-get clean all
  6. RUN pip install flask
  7. ADD hello.py /tmp/hello.py
  8. EXPOSE 5000
  9. CMD ["python","/tmp/hello.py"]
版权声明:本文为博主原创文章,转载务必说明原文地址。 https://blog.csdn.net/x6_9x/article/details/72891404
 

docker镜像的导入和导出的更多相关文章

  1. Docker 镜像的导入和导出

    镜像的导入和导出 export 和improt [root@#localhost docker]# docker run -ti ubuntu:update /bin/bash root@cbe3cb ...

  2. kubernetes集群搭建(9):docker 镜像的导入与导出

    由于K8s搭建时官方提供的镜像不FQ是访问不了的,所以搭建过程中很多时间都耗费在去找镜像去了 下面是我搭建k8s集群用到的镜像  没有采用之前我用的二进制文件搭建(dns没成功),这里采用的Kubea ...

  3. docker镜像文件导入与导出

    工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境 1. 查看镜像id sudo docker images REPO ...

  4. docker镜像文件导入与导出,支持批量

    工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境 1. 查看镜像id sudo docker images REPO ...

  5. docker镜像文件导入与导出 , 支持批量

    1. 查看镜像id sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/calico/node v1.0.1 c70511a ...

  6. Docker 镜像-管理-导入-导出

    目录 Docker 镜像基本概念 Docker 镜像加速 Docker 镜像 常用命令 Docker 镜像的创建和导出导入 Docker 镜像基本概念 我们使用的容器都是基于镜像的,镜像是由多层组成的 ...

  7. docker镜像和容器的导出导入

    本文介绍docker镜像和容器的导入导出,用于迁移.备份.升级等场景.主要用到export.import.save.load四个方法. 原文地址:代码汇个人博客 http://www.codehui. ...

  8. docker容器和镜像的导入和导出

    镜像的保存 [root@wxtest1607 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat8 3.0 90457edaf6 ...

  9. docker 镜像的导入导出

    今天使用docker部署asp.net core应用程序时,发现当我们做好基础镜像之后需要把镜像导出到正式环境,因此学习了一下如何从docker中导出镜像: 1.首先通过docker images命令 ...

随机推荐

  1. python中类(class)和实例(instance)

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  2. 结合canvas做雨滴特效

    雨滴特效 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  3. IIS部署PHP项目并与mysql完美结合

    在上一篇文章中,提到iis与apache共用80端口,但是发现很多问题,例如 IIS网站有支付功能,而微信支付是不支持带有端口的网址的,虽然通过apche代理,在外面看来没有端口,可是内部还是避免不了 ...

  4. pd.read_csv的header用法

    默认Header = 0: In [3]: import pandas as pd In [4]: t_user = pd.read_csv(r'C:\Users\Song\Desktop\jdd_d ...

  5. C++11 里lambda表达式的学习

    最近看到很多关于C++11的文档,有些是我不怎么用到,所以就略过去了,但是lambda表达式还是比较常用的,其实最开始学习python的时候就觉得lambda这个比较高级,为什么C++这么弱.果然C+ ...

  6. 算法总结之 构造数组MaxTree

    一个数组的MaxTree定义如下: 数组必须没有重复元素 MaxTree是一颗二叉树,数组的每一个值对应一个二叉树的节点 包括MaxTre树在内且在其中的每一颗子树上,值最大的节点都是树的头 给定一个 ...

  7. linux jdk安装。

    我使用的centos 7: 安转sun公司的jdk要先检查系统中是否安装jdk,一般来说Centos系统会默认会安装OpenJDK,但是openJDK部分内容 与SUN JDK不兼容,因此下面进行重新 ...

  8. vc 判断当前用户是否在管理员组以及是否SYSTEM权限运行

    BOOL IsUserInAdminGroup() //判断是否在管理员组 { BOOL fInAdminGroup = FALSE; HANDLE hToken = NULL; HANDLE hTo ...

  9. QT QMimeData类

    http://blog.csdn.net/xie376450483/article/details/5863810 QMimeData类提为数据提供一个容器,用来记录关于MIME类型数据的信息 QMi ...

  10. 安装Linux应该知道的十件事

    硬件,软件及其之间的一切 Linux机器的硬件和软件之间一切都由内核主宰. 内核负责硬件和软件的连接,每隔几个礼拜就可以在Internet上获取 更新的内核: 如果你自己安装内核并非易事,这时,就轮到 ...