Docker 常用管理命令——上
来源:互联网 发布:网络七层协议工作原理 编辑:程序博客网 时间:2024/05/16 17:19
原文:http://seanlook.com/2014/10/31/docker-command-best-use-1/
生命周期管理
runstartstoprestartkillrmpauseunparse
操作运维
psinspecttopattacheventslogswaitexportport
rootfs命令
commitcpdiff
镜像仓库
loginpullpushsearch
本地镜像管理
imagesrmitagbuildhistotysaveimport
其他命令
infoversion
具体介绍
列出机器上的所有镜像
huzi@huohai:~$ sudo docker images # 不带'/'的包是系统自带的,带'/'的是个人的REPOSITORY TAG IMAGE ID CREATED SIZEvimagick/scrapyd latest 5f29846ca174 2 days ago 319.6 MBubuntu 16.04 4ca3a192ff2a 9 days ago 128.2 MBaciobanu/scrapy latest 94668c23e75d 7 weeks ago 205.3 MBhello-world latest c54a2cc56cbb 5 months ago 1.848 kB
在docker index中搜索image
huzi@huohai:~$ sudo docker search scrapy # scrapy是想要搜索镜像的名字NAME DESCRIPTION STARS OFFICIAL AUTOMATEDvimagick/scrapyd An open source and collaborative framework... 26 [OK]trcook/docker-scrapy dockerized scrapy built on alpine linux. 8 [OK]aciobanu/scrapy An open source and collaborative framework... 6 [OK]rickl/docker-scrapy Minimal Docker Scrapy image based on Alpin... 4 [OK]tarhan/scrapy-base Base Docker image for Scrapy projects with... 1 [OK]allanfann/scrapy 1 [OK]wuchang/docker-scrapy docker-scrapy 1 [OK]
从docker registry server 下载镜像
huzi@huohai:~$ sudo docker pull scrapy # 最好查找好指定的镜像名字,一般找到镜像都有pull方法Using default tag: latest从image启动一个containerUsage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]'docker run '创建容器的时候,Docker在后台运行的标准操作包括: 1. 检查本地是否存在指定的镜像,不存在就从共有仓库下载 2. 利用镜像创建并启动一个容器 3. 分配一个文件系统,并在只读的镜像层外面挂在一层可读写层 4. 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 5. 从地址池配置一个ip地址给容器 6. 执行用户指定的应用程序 7. 执行完毕后容器被终止
使用image创建container并执行相应命令,然后停止
huzi@huohai:~$ sudo docker run vimagick/scrapyd echo "天黑了"天黑了'实际上这行做的操作是启动一个容器,执行'echo'命令,可以用 'sudo docker ps -l'来查看'huzi@huohai:~$ sudo docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES84f85d0f0ddf vimagick/scrapyd "echo 天黑了" 29 seconds ago Exited (0) 28 seconds ago elated_noether
使用image创建container并进入交互模式,login shell 是/bin/bash
huzi@huohai:~$ sudo docker run -i -t --name first_container vimagick/scrapyd /bin/bashroot@2420f0497140:/# apt install python-dev'--name' '参数指定启动后的容器名字,如果不指定,docker会帮我们指定一个,注意最后的NAMES,是我们指定的名字'huzi@huohai:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2420f0497140 vimagick/scrapyd "/bin/bash" 3 minutes ago Up 3 minutes 6800/tcp first_container84f85d0f0ddf vimagick/scrapyd "echo 天黑了" 6 minutes ago Exited (0) 6 minutes ago elated_noether用'docker logs +容器ID '可以看到输出huzi@huohai:~$ sudo docker logs 69e29e077067/bin/sh: 1: While: not foundhello world
将一个container固化为一个新的image,通过commit,在pymsql执行完excute后也要执行commit
docker commit <container> [repo:tag] '后面的[]是可选项,但是缺了的话会是<None> repo是你image的名字,tag是你TAG的名字'
huzi@huohai:~$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE<none> <none> f84d9dc13795 8 seconds ago 319.6 MBvimagick/scrapyd latest 5f29846ca174 2 days ago 319.6 MBubuntu 16.04 4ca3a192ff2a 9 days ago 128.2 MB###huzi@huohai:~$ sudo docker commit big_euler [your_container_name:tag_name] sha256:f84d9dc13795f5703c04574472efdb879fe70e2d2cdc0bfbb87e9ee8745fe39d
请注意,当你反复去commit一个容器的时候,每次都会得到一个新的IMAGE ID,假如后面的repository:tag没有变,通过docker images可以看到,之前提交的那份镜像的repository:tag就会变成<none>:<none>,所以尽量避免反复提交。另外,观察以下几点:commit container只会pause住容器,这是为了保证容器文件系统的一致性,但不会stop。如果你要对这个容器继续做其他修改:你可以重新提交得到新image2,删除次新的image1也可以关闭容器用新image1启动,继续修改,提交image2后删除image1当然这样会很痛苦,所以一般是采用Dockerfile来build得到最终image,参考[]虽然产生了一个新的image,并且你可以看到大小有100MB,但从commit过程很快就可以知道实际上它并没有独立占用100MB的硬盘空间,而只是在旧镜像的基础上修改,它们共享大部分公共的“片”。
0 0
- Docker 常用管理命令——上
- docker专题(2):docker常用管理命令(上)
- docker专题(2):docker常用管理命令(上)
- docker常用管理命令
- docker常用管理命令(下)
- docker专题(2):docker常用管理命令(下)
- docker 容器管理上
- 常用docker命令
- docker常用的命令
- 常用Docker命令
- docker命令常用
- 常用docker命令
- 常用的docker命令
- 常用的docker命令
- 常用docker命令
- 常用Docker命令
- Docker 常用的命令
- 常用的docker命令
- JavaSE学习(9) 二进制、位运算符、移位运算符
- 多重处理系统中,处理死锁的办法
- C语言OJ项目参考(2305)你就成了我
- Espresso UI自动化测试 一
- POJ 2010 Moo University - Financial Aid 已被翻译
- Docker 常用管理命令——上
- 模块
- 计算机竞赛的感受
- linux不用符号实现写文件
- 归并排序
- 线段树(区间更新)小结
- C语言OJ项目参考(2290)字符串的修改
- NodeJS--package
- 计算机视觉领域稍微容易中的期刊(第一版)