https://docs.docker.com/reference/  官方命令总结地址

容器生命周期管理

1.docker run

创建一个新的容器并运行一个命令

docker run [options] image [command] [arg...]

-a stdin:指定标准输入输出内容类型,可选STDIN/STDOUT/STDERR

-d: 后台运行容器,并返回容器ID

-i: 以交互式运行容器,通常与-t同时使用

-p: 端口映射,格式为 主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与-i同时使用

--name="name": 为容器指定一个名称

--dns 8.8.8.8: 为容器指定一个dns服务器,默认与宿主一致

--dns-search domain:为容器指定一个DNS域名,默认与宿主一致

-h "hostname": 指定容器的hostname

-e arg="value": 设置环境变量

-env-file=[]:从指定文件读入环境变量

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运行

-m: 设置容器使用内存最大值

--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型

--link=[]:添加链接到另外一个容器

--expose=[]:开放一个端口或一组端口,宿主机使用随机端口映射到开放的端口

#实例
docker run --name mynginx -d nginx:latest # 映射多个端口
docker run -p :/tcp -p : -v /data:/data -d nginx:latest docker run -p 127.0.0.1::/tcp ubuntu bash docker run -it nginx:latest /bin/bash
2.start/stop/restart命令

启动/关闭/重启容器

docker start/stop/restart [options] container [container...]
3.kill命令

杀掉一个运行中的容器

-s:向容器发送一个信号

docker kill -s KILL mynginx
4.rm命令

删除一个或多个容器

-f:通过SIGKILL信号强制删除一个运行中的容器
-l:移除容器间的网络连接,而非容器本身
-v:-v删除与容器关联的卷 docker rm -f db01 db02
docker rm -l db
docker rm -v nginx01
5.pause/unpause命令

pause暂停,unpause恢复

docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]
6.create命令

创建一个容器,但不启动它(用法类似docker run)

docker create --name mynginx nginx:latest
7.exec命令

docker exec:在运行的容器中执行命令

-d:分离模式:在后台运行
-i:及时没有附加也保持STDIN打开
-t:分配一个伪终端 docker exec -it mynginx /bin/bash /root/secript.sh docker exec -i -t mynginx /bin/bash # 使用该命令可以分配一个伪终端执行命令, 使用exit推出时,docker容器不会自动关闭

容器操作

1.PS

列出容器

-a: 显示所有容器,包括未运行的
-f: 根据条件过滤显示的内容
--format: 指定返回值的模板文件
-l: 显示最近创建的容器
-n: 列出最近创建的n个容器
--no-trunc: 不截断输出
-q: 静默模式,值显示容器编号
-s: 显示总文件大小 docker ps
docker ps -n
docker ps -a -q
2.inspect

获取容器/镜像的元数据

-f: 指定返回值的模板
-s: 显示总的文件大小
--type: 为指定类型返回JSON docker inspect mysql:5.6 docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql
3.top

查看容器中运行的进行信息,支持ps命令参数

docker top [options] container [ps options]

docker top mymysql
4.attach

连接到运行中的容器

docker attach [options] container

# --sig-proxy=false 加上参数容器还是会退出(通过ctrl+D退出容器)
docker attach --sig-proxy=false mynginx
5.events

从服务器获取实时时间(监听)

-f: 根据条件过滤事件
--since:从指定的时间戳后显示所有事件
--until:流水时间显示到指定的时间为止
如果不加任何参数,监听当前事件 docker events
6.logs

获取容器的日志(容器中输出到STDOUT,STDERR中的日志)

-f: 跟踪日志输出
--since: 显示某个时间开始的所有日志
-t: 显示时间戳
--tail: 仅列出最新n条容器日志 docker logs -f mynginx
7.wait

阻塞运行直到容器停止,然后打印它的退出代码

docker wait container
8.export

将容器的文件系统作为一个tar归档文件导出到stdout

docker export -o mysql-`data +%Y%m%d`.tar a404c6c174a2
9.port

列出指定的容器的端口映射或者查找将PRIVATE_PORT NAT到面向公众的端口

docker port mysql
10.update

更新容器的一些配置(内存,cpu,是否自动启动), 修改内存时,虚拟机必须是关机状态,否则报错 未知参数

root@bogon:~# docker update --help

Usage:  docker update [OPTIONS] CONTAINER [CONTAINER...]

Update configuration of one or more containers

Options:
--blkio-weight uint16 Block IO (relative weight), between and , or to disable (default )
--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period
--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-period int Limit the CPU real-time period in microseconds
--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds
-c, --cpu-shares int CPU shares (relative weight)
--cpus decimal Number of CPUs
--cpuset-cpus string CPUs in which to allow execution (-, ,)
--cpuset-mems string MEMs in which to allow execution (-, ,)
--kernel-memory bytes Kernel memory limit
-m, --memory bytes Memory limit
--memory-reservation bytes Memory soft limit
--memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap
--restart string Restart policy to apply when a container exits root@bogon:~# docker update --memory-swap -m portainer

容器rootfs命令

1.commit

从容器创建一个新的镜像

-a: 提交的镜像作者
-c: 使用dockerfile指令来创建镜像
-m: 提交时的说明文字
-p: 在提交时,将容器暂停 docker commit -a "runoob.com" -m "my apache" a404c6c174a2 myapache:v1
2.cp

用于容器和主机之间的数据拷贝

docker cp [options] container:src_path dest_path

docker cp [options] src_path container:dest_path

docker cp /www/runoob 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www/ /www/runoob
3.diff

检查容器里文件结构的修改

docker diff [options] container

docker diff mymysql

镜像仓库

1.login/logout

登陆docker hub公共仓库(需要自己去注册)

docker login [options] [server]
docker logout [options] [server] -u: 登陆的用户名
-p: 登陆的密码
2.pull

从镜像仓库中拉取或更新指定镜像

docker pull [options] name[:tag|@DIGEST]

-a: 拉取所有tagged镜像
--disable-content-trust: 忽略镜像的校验,默认开启 # 下载最新版java镜像
docker pull java
3.push

将本地镜像上传到镜像仓库,要先登陆到镜像仓库

docker push [options] name[:tag]

--disable-content-trust: 忽略镜像的校验,默认开启

docker push myapache:v1
4.search

在docker hub查找镜像

docker search [options] term

--automated: 只列出automated build类型的镜像
--no-trunc: 显示完整的镜像描述
-s: 列出收藏数小于指定值的镜像 docker search -s java

本地镜像管理

1.images

列出本地镜像

docker images [options] [repository:tag]

-a: 列出本地所有镜像(含中间映像层,默认过滤中间映像层)
--digests: 显示镜像的摘要信息(MD5值)
-f: 显示满足条件的镜像
--format: 指定返回值的模版文件
--no-trunc: 显示完整的镜像信息
-q: 只显示镜像ID docker images docker images ubuntu
2.rmi

删除本地一个或多个镜像

-f:强制删除
--no-prune: 不移除该镜像的过程进行,默认移除 docker rmi -f runoob/ubuntu:v4
3.tag

标记本地镜像,将其归入某一个仓库

# 把镜像ubuntu:.10标记为runoob/ubuntu:v3
docker tag ubuntu:15.10 runoob/ubuntu:v3
4.build

用于使用dockerfile创建镜像(后面会讲解到)

docker build [options] path | url | -
5.history

查看指定镜像的创建历史

docker history [options] image

-H: 以可读的格式打印镜像大小和日期,默认为true
--no-trunc: 显示完整的提交记录
-q: 仅列出提交记录ID
6.save

将指定镜像保存成tar归档文件

docker save [options] image [image ...]

-o: 输出文件

docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
7.import

从归档文件中创建镜像

docker import [options] file |URL |- [repository:tag]

docker import my_ubuntu_v3.tar runoob/ubuntu:v4

info/version

1.info

显示docker系统信息,包括镜像和容器数

docker info [options]

docker info
2.version

显示docker版本信息

docker version [options]

-f: 指定返回值的模板文件

docker version

其他

stats

查看每个运行的docker容器的状态

docker stats 

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
9c5e0e259466 test02 0.02% .46MiB / 100MiB 12.46% .3kB / 0B .2MB / .4kB
d5183228b334 test01 0.02% .55MiB / 100MiB 12.55% .04kB / 0B .59MB / .4kB

Docker系列二: docker常用命令总结的更多相关文章

  1. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  2. docker系列详解<二>之常用命令

    此篇我们以从docker运行一个tomcat为例,进行一下操作: 拉取镜像 查看镜像 创建容器 查看运行状态 进入退出容器 停止容器 重启容器 删除容器 删除镜像 1.拉取tomcat镜像: 1).查 ...

  3. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...

  4. Docker Swarm(二)常用命令

    # 管理配置文件 docker config     # 查看已创建配置文件     - docker config ls     # 将已有配置文件添加到docker配置文件中     - dock ...

  5. docker的安装及常用命令

    一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...

  6. 【Docker】docker的安装和常用命令

    一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二.docker常用命令 dock ...

  7. Docker 系列二(操作镜像).

    一.镜像管理 1.拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] -- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号 ...

  8. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

  9. Docker学习总结(三)--常用命令

    镜像相关命令 查看镜像 docker images 返回列表字段含义如下: 字段名称 字段含义 REPOSITORY 镜像名称 TAG 镜像标签 IMAGE ID 镜像 ID CREATED 镜像创建 ...

随机推荐

  1. Django项目同步到码云

    本篇博客主要记录下将刚刚初始化后的Django项目部署到码云中,首先我们需要到码云中注册一个账号,下面会讲解下如何在码云中建立一个仓库,再将其克隆到本地.最后将本地的项目推送到码云的仓库中. 码云内初 ...

  2. Java多线程通讯---------wait,notify区别

    class Res{ public String username; public String sex; } class Out extends Thread{ Res res; public Ou ...

  3. swoole怎么连接数据库

    异步连接到MySQL服务器. $serverConfig为MySQL服务器的配置,必须为关联索引数组 $callback连接完成后回调此函数 swoole连接数据库实例: 推荐学习:swoole教程 ...

  4. delphi save .dfm to .txt

    procedure TForm2.saveDfm; var inStream,outStream:TMemoryStream; begin inStream:=TMemoryStream.Create ...

  5. bootstrap 网格

    实现原理 网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出了强大的响应式网格系统.Bootst ...

  6. 使用IDEA搭建SSM,小白教程

    本片博客主要是搭建一个简单的SSM框架,感兴趣的同学可以看一下 搭建ssm框架首先我们需要有一个数据库,本篇文章博主将使用一个MySQL的数据,如果没学过MySQL数据库的,学过其他数据库也是可以的 ...

  7. ASP.NET ZERO 学习 JTable的使用

    View信息: @using Abp.Web.Mvc.Extensions @using MedicalSystem.Authorization @using MedicalSystem.Web.Na ...

  8. 吴裕雄--天生自然Linux操作系统:Linux 远程登录

    Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...

  9. JavaSE--数字签名之校验签名

    参考:http://blog.csdn.net/dotuian/article/details/51722300 关于keystore的简单介绍 Keytool是一个Java数据证书的管理工具 ,Ke ...

  10. JavaSE--RMI初识

    转自:http://blog.csdn.net/guyuealian/article/details/51992182 一.Java RMI机制:        远程方法调用RMI(Remote Me ...