Docker语法说明

docker [OPTIONS] COMMAND [arg...]
OPTIONS
--config=~/.docker :指定本地客户端配置文件。
-D, --debug :开启调试模式。
-H, --host=[] :指定监听连接地址。
-h, --help :打印使用方式。
-l, --log-level=info :设置日志级别。
--tls :开启tls。
--tlscacert=~/.docker/ca.pem :信任的CA证书。
--tlscert=~/.docker/cert.pem :证书文件路径。
--tlskey=~/.docker/key.pem :key文件路径。
--tlsverify

COMMAND
attach
当前shell下attach连接指定运行镜像,退出容器时,容器关闭。
create
创建一个新的容器,同run,但不启动容器,状态为Created,通过docker ps -a可以查看。

$ docker create --name test_1_nginx nginx

run
创建一个新的容器并运行一个命令,具体官方参考。

$ docker run --name test_nginx -d nginx
-c :设置CPU使用权重。
-m, --memory="" : 内存限制 (format: <number><optional unit>, where unit = b, k, m or g) 。
--cidfile="" :把容器id写入到指定文件。
--cpuset="" :cpu绑定。
-d :后台运行容器。
--dns :设置dns。
--init :该选项在容器内运行带有PID 1的init进程,它转发信号并收集进程。
--dns-search :设置dns域搜索。
--env-file :从指定文件读取变量值。
--expose :指定对外提供服务端口。
-h :设置容器主机名。
-i, --interactive :保持标准输出开启即使没有attached。
--link :添加链接到另外一个容器。
--name :设置容器名。
--net :设置容器网络模式。
-P, --publish-all :自动映射容器对外提供服务的端口。
-p, --publish :指定端口映射(format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort)
--privileged :提供更多的权限给容器。
--rm :如果容器退出自动移除。
--restart :该选项定义容器的重新启动策略,设置为always时表示确保Docker守护程序在启动时启动容器,并在容器退出时重新启动它。
--security-opt :安全选项,通过–security-opt选项,运行容器时用户可自定义SELinux和AppArmor卷标和配置。
-t, --tty :分配伪终端。
-u, --user :指定运行容器的用户uid或者用户名。
-v, --volume :挂载卷(from the host:-v /host:/container, from docker: -v /container)
--volumes-from :从指定容器挂载卷。
-w, --workdir :指定容器工作目录。

# 创建一个cpu优先级为100,内存限制512MB,主机名为test1,名为docker_test后台运行bash的容器;

$ docker run -t -i -c 100 -m 512MB -h test -d --name="docker_test" ubuntu /bin/bash

ps
列出容器列表。

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddc9ae8793dc nginx "nginx -g 'daemon off" 4 hours ago Up 4 hours 443/tcp, 0.0.0.0:8081->80/tcp docker_nginx

cp
从容器中拷贝指定文件或者目录到宿主机中。

$ docker cp test_nginx:/etc/sysctl.conf /tmp/

diff
查看docker容器变化。

$ docker diff test_nginx

events
从docker服务获取容器实时事件。
exec
在已存在的容器上运行命令。

$ docker exec -ti test_nginx /bin/bash

export
导出容器的内容流作为一个tar归档文件[对应import]。
import
从tar包中的内容创建一个新的文件系统映像[对应export]。
history
展示一个镜像形成历史。

$ docker history docker_nginx

images
显示当前系统镜像。

# 显示当前系统镜像,不包括过渡层镜像;

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest 368db5c51bcd 4 days ago 420 MB
nginx latest e43d811ce2f4 4 days ago 181.4 MB
mysql latest cf725f136fd2 4 days ago 383.4 MB
ubuntu latest f753707788c5 12 days ago 127.1 MB

# 显示当前系统所有镜像,包括过渡层镜像;

$ docker images -a

info
显示系统相关信息。

$ docker info
Containers: 6
Running: 5
Paused: 0
Stopped: 1
Images: 4
Server Version: 1.12.2

inspect
查看容器详细信息。

# 查看完整容器信息;

$ docker inspect test_nginx

# 查看指定容器信息;

$ docker inspect -f '{{.Id}}' test_nginx 

kill
kill指定docker容器。

$ docker kill docker_wordpress

save
保存一个镜像为一个tar包[对应load]。

$ docker save -o nginx.tar.gz nginx

load
从一个tar包中加载一个镜像[对应save]。

$ docker load -i nginx.tar.gz
Loaded image: nginx:latest

login
注册或者登陆一个docker registry服务器。

$ docker login 172.17.0.1:5000 -u hello -p world

logout
从当前docker registry退出。

$ docker logout 172.17.0.1:5000

logs
输出当前容器日志信息。

# 输出指定容器的所有日志;

$ docker logs docker_nginx

# -f选项可以像tailf一样输出日志;

$ docker logs docker_nginx -f

port
查看映射端口对应的容器内部源端口。

$ docker port docker_nginx

80/tcp -> 0.0.0.0:8081

pull
从docker镜像源服务器拉取指定镜像或者库镜像。

# 从默认Registry进行PULL镜像;

$ docker pull mysql

# 从指定Registry进行PULL镜像;

$ docker pull 172.17.0.1:5000/mysql

push
推送指定镜像或者库镜像到私有源[可注册docker官方账户,推送到官方自有账户]。

$ docker push 172.17.0.1:5000/ubuntu

rename
重命名容器。

$ docker rename docker_wordpress wordpress

pause
暂停容器,状态为Paused。

$ docker pause docker_nginx

unpause
取消暂停容器,状态为Up。

$ docker unpause docker_nginx

stop
停止容器,状态为Exited。

$ docker stop docker_nginx

start
启动容器,状态为Up。

$ docker start docker_nginx

restart
重启运行的容器。

$ docker restart docker_nginx

rm
删除一个或者多个容器,一般使用都要加上-fv选项,表示把对应的volume也删除。

$ docker rm -fv test_nginx

rmi
移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或-f强制删除]。

$ docker rmi hello-world

service
管理Docker服务。
search
在docker hub中搜索镜像。

$ docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relati... 3276 [OK]

# 搜索Docker HUP中star超过100的镜像;

$ docker search -s 100 ubuntu

stats
显示一个存活容器的资源使用情况。

$ docker stats docker_nginx
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
docker_nginx 0.00% 7.582 MiB / 7.64 GiB 0.10% 2.248 kB / 3.748 kB 6.848 MB / 0 B 0

tag
给源中镜像打标签,通过docker images查看。

$ docker tag nginx test_nginx

top
查看容器中运行的进程信息。

docker top test_nginx
UID PID PPID C STIME TTY TIME CMD
root 2747 2732 0 18:30 ? 00:00:00 nginx: master process nginx -g daemon off;
104 2766 2747 0 18:30 ? 00:00:00 nginx: worker process

update
给一个或多个容器更新配置。
version
查看docker版本号。

$ docker version
Client:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built:
OS/Arch: linux/amd64 Server:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built:
OS/Arch: linux/amd64

network
管理Docker网络。
swarm
管理Docker Swarm。
node
管理DockerSwarm节点。
volume
管理Docker卷。

$ docker volume ls

build
通过Dockerfile定制镜像,详情看:Docker:使用Dockerfile构建Nginx镜像。

$ docker build -t test .

commit
提交当前容器为新的镜像,对一个正在运行的容器进行了配置修改后,可将此容器提交为一个新的容器。Docker:使用Dockerfile构建Nginx镜像。

$ docker commit -a pengdongwen nginx_01 nginx_10

Dcoker命令使用详解的更多相关文章

  1. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  2. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  3. 批处理中的echo命令图文详解

    批处理中的echo命令图文详解 1. Echo 显示当前ECHO的状态:ECHO ON 或者ECHO OFF 2. ECHO ON 将ECHO状态设置为ON,将显示命令行,也就是前面的C:\>类 ...

  4. Ubuntu kill命令用法详解

    转自:Ubuntu kill命令用法详解 1. kill   作用:根据进程号杀死进程   用法: kill [信号代码] 进程ID   root@fcola:/# ps -ef | grep sen ...

  5. install 命令用法详解

    install 命令用法详解 http://man.linuxde.net/install install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似 ...

  6. dd命令使用详解

    dd命令使用详解 http://www.cnblogs.com/qq78292959/archive/2012/02/23/2364760.html 1.命令简介 dd 的主要选项: 指定数字的地方若 ...

  7. Mysql导入导出工具Mysqldump和Source命令用法详解

    Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...

  8. Mysql数据库导入命令Source详解

    Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dat ...

  9. dos下的edit命令使用详解

    dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...

随机推荐

  1. 入门OJ:亲戚

    题目描述 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子.如果能得到完整的家谱,判断两个人是否亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代, ...

  2. 网络流量预测入门(一)之RNN 介绍

    目录 网络流量预测入门(一)之RNN 介绍 RNN简介 RNN 结构 RNN原理 结构原理 损失函数$E$ 反向传播 总结 参考 网络流量预测入门(一)之RNN 介绍 了解RNN之前,神经网络的知识是 ...

  3. Centos7 添加用户及设置权限

    一.添加用户 1.登录root 用户 [gau@localhost /]$ su Password: # 输入密码 [root@localhost /]# 2.添加用户 [root@localhost ...

  4. python 字典(formkey 建立 取值 赋值 删除 )

      formkey快速建立空字典   result = {}.fromkeys(['name','age','job'],None) print(result)   #往字典里添加元素 result. ...

  5. Code Review 的几个技巧

    No magic: Explicit not implicit: 覆盖度比深度重要,覆盖度追求100%: 频率比仪式感重要,坐公交蹲厕所打开手机都可以 Review 别人代码,不需要专门组织会议: 粒 ...

  6. 监听套接字描述字 已连接套接字描述字 和打电话的情形非常不一样的地方 完成了 TCP 三次握手,操作系统内核就为这个客户生成一个已连接套接字

    1. accept: 电话铃响起了-- 当客户端的连接请求到达时,服务器端应答成功,连接建立,这个时候操作系统内核需要把这个事件通知到应用程序,并让应用程序感知到这个连接.这个过程,就好比电信运营商完 ...

  7. Codeforces #698 (Div. 2) E. Nezzar and Binary String 题解

    中文题意: 给你两个长度为 \(n\) 的01串 \(s,f,\)有 \(q\) 次询问. 每次询问有区间 \([\ l,r\ ]\) ,如果 \([\ l,r\ ]\) 同时包含\(0\)和\(1\ ...

  8. 数位dp 笔记

    目录 数位dp 笔记 解决的问题 & 主体思想 入门 -- windy数 绕一个弯 -- 萌数 the end? -- 恨7不成妻 小心细节 [SDOI2016]储能表 复杂度起飞 [AHOI ...

  9. Java——单例模式、多线程

    单例模式 单例模式练习 单例模式的分类 懒汉式 懒汉式相关练习 饿汉式 饿汉式相关练习 线程安全 使用双重检测机制实现线程安全的懒汉式 使用静态内部类实现线程安全的单例模式 多线程 多线程的三种方式 ...

  10. fedora 20安装vim Transaction check error

    Transaction check error安装时 yum remove vim-minimal 再安装vim ok