Docker常用命令

原创 2017年12月26日 23:48:15
镜像管理
docker images:列出本地所有镜像
docker search <IMAGE_ID/NAME>:查找image
docker pull <IMAGE_ID>下载image
docker push <IMAGE_ID>:上传image
docker rmi <IMAGE_ID>:删除image

容器管理
docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器    -t:分配一个虚拟终端    /bin/bash:执行bash脚本
-d:以守护进程方式运行(后台)
-P:默认匹配docker容器的5000端口号到宿主机的49153 to 65535端口
-p <HOT_PORT>:<CONTAINER_PORT>:指定端口号
- -name: 指定容器的名称
- -rm:退出时删除容器

docker stop <CONTAINER_ID>停止container
docker start <CONTAINER_ID>重新启动container
docker ps - Lists containers.
-l:显示最后启动的容器
-a:同时显示停止的容器,默认只显示启动状态

docker attach <CONTAINER_ID> 连接到启动的容器
docker logs <CONTAINER_ID>  : 输出容器日志
-f:实时输出
docker cp <CONTAINER_ID>:path hostpath:复制容器内的文件到宿主机目录上
docker rm <CONTAINER_ID>删除container
docker rm `docker ps -a -q`:删除所有容器
docker kill `docker ps -q`
docker rmi `docker images -q -a`
docker wait <CONTAINER_ID>:阻塞对容器的其他调用方法,直到容器停止后退出

docker top <CONTAINER_ID>:查看容器中运行的进程
docker diff <CONTAINER_ID>:查看容器中的变化
docker inspect <CONTAINER_ID>:查看容器详细信息(输出为Json)
-f:查找特定信息,如docker inspect -'{{ .NetworkSettings.IPAddress }}'
      docker commit -m "comment" -a "author" <CONTAINER_ID>  ouruser/imagename:tag

      docker extc -it <CONTAINER> <COMMAND>:在容器里执行命令,并输出结果


网络管理
docker run -P:随机分配端口号
docker run -p 5000:5000:绑定特定端口号(主机的所有网络接口的5000端口均绑定容器的5000端口)
docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号
docker run --127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号
docker port <CONTAINER_ID> 5000:查看容器的5000端口对应本地机器的IP和端口号
使用Docker Linking连接容器:
Docker为源容器和接收容器创建一个安全的通道,容器之间不需要暴露端口,接收的容器可以访问源容器的数据
docker run -d -P --name <CONTAINER_NAME> --link <CONTAINER_NAME_TO_LINK>:<ALIAS>  

数据管理
Data Volumes:volume是在一个或多个容器里指定的特殊目录
  • 数据卷可以在容器间共享和重复使用
  • 可以直接修改容器卷的数据
  • 容器卷里的数据不会被包含到镜像中
  • 容器卷保持到没有容器再使用它
可以在容器启动的时候添加-v参数指定容器卷,也可以在Dockerfile里用VOLUMN命令添加
docker run -d -P --name web -v /webapp training/webapp python app.py
也可以将容器卷挂载到宿主机目录或宿主机的文件上,<容器目录或文件>的内容会被替换为<宿主机目录或文件>的内容,默认容器对这个目录有可读写权限
docker run -d -P --name web -v <宿主机目录>:<容器目录> training/webapp python app.py
可以通过指定ro,将权限改为只读
docker run -d -P --name web -v <宿主机目录>:<容器目录>:ro training/webapp python app.py
在一个容器创建容器卷后,其他容器便可以通过--volumes-from共享这个容器卷数据,如下:
docker run -d -v /dbdata --name db1 training/postgres echo Data-only container for postgres
首先启动了一个容器,并为这个容器增加一个数据卷/dbdata,然后启动另一个容器,共享这个数据卷
docker run -d --volumes-from db1 --name db2 training/postgres
此时db2使用了db1的容器卷,当容器db1被删除时,容器卷也不会被删除,只有所有容器不再使用此容器卷时,才会被删除
docker rm -v:删除容器卷
除了共享数据外,容器卷另一个作用是用来备份、恢复和迁移数据
docker run --volumes-from db1 -v /home/backup:/backup ubuntu tar cvf /backup/backup.tar /dbdata
启动一个容器数据卷使用db1容器的数据卷,同时新建立一个数据卷指向宿主机目录/home/backup,将/dbdata目录的数据压缩为/backup/backup.tar

docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --volumes-from dbdata2 -v /home/backup:/backup busybox tar xvf /backup/backup.tar
启动一个容器,同时把backup.tar的内容解压到容器的backup

仓库管理
docker login:登录

docker常用命令详解

本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 —...
  • permike
  • permike
  • 2016年07月11日 11:35
  • 46985

Docker学习总结(9)——Docker常用命令

容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]容器操作运维 — docker [ps|inspect|top|atta...
  • u012562943
  • u012562943
  • 2016年07月15日 09:26
  • 3280

Docker学习笔记(2)--Docker常用命令

1. 查看docker信息(version、info) # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2. 对im...
  • we_shell
  • we_shell
  • 2014年08月04日 14:00
  • 36501

Docker常用命令

原文地址:http://blog.csdn.net/wsscy2004/article/details/25878363 常用docker命令 常用命令 查看容器的roo...
  • tanga842428
  • tanga842428
  • 2017年05月16日 16:44
  • 330

Docker常用命令原理图

docker常用命令原理图概览: (一)image layer(镜像层) 镜像可以看成是由多个镜像层叠加起来的一个文件系统,镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行...
  • huwh_
  • huwh_
  • 2017年05月07日 10:19
  • 905

Docker入门及常用命令

官方文档:http://docs.master.dockerproject.org/engine/installation/linux/ubuntulinux/ 1.安装Docker 1.准备工...
  • he90227
  • he90227
  • 2016年11月02日 14:37
  • 2363

Docker常用命令

1. 查看docker信息(version、info) [plain] view plain copy # 查看docker版本   $docker ve...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2017年01月10日 17:29
  • 574

常用docker命令

一、与镜像相关1.搜索可用镜像# docker search imagesName 2.删除镜像# docker rmi -f imageID/imagesName3.拉取镜像 ...
  • yjk13703623757
  • yjk13703623757
  • 2016年11月17日 17:42
  • 721

docker实战1 (docker-toolbox的安装,docker基础命令详解[运行,容器导入/导出,镜像导入/导出,数据卷,网络],构建100个docker实例的测试环境)

前言:docker是一门很火的开源技术,发展迅速,而且很有前景。本次新开的docker实战是继运维笔记后的一个新尝试,尽本人所能,写出自己学习使用docker时候的体会。本次的docker系列会采用d...
  • No_red
  • No_red
  • 2017年05月18日 17:15
  • 2229

Docker入门实战(一)——Docker常用命令

什么是Docker? Docker containers wrap a piece of software in a complete filesystem that contains every...
  • u010425776
  • u010425776
  • 2016年08月20日 11:46
  • 2795
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker常用命令
举报原因:
原因补充:

(最多只允许输入30个字)