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