- attach: 将标准输入(stdin)与标准输出(stdout)连接到正在运行的容器
docker attach [OPTIONS] CONTAINER
# 创建容器
docker create -it --name centos-container centos /bin/bash
# 若想使用刚刚创建的容器,则必须使用docker start 命令启动容器
docker start centos-container
# 进入容器内部
docker attach centos-container
- build: 使用Dockerfile文件创建镜像
docker build <选项><Dockerfile路径>
- commit: 从容器的修改项创建显得镜像
docker commit <选项><容器名称,id>/<镜像名称>:<标签>
- cp: 用于将容器的目录或文件复制的到主机。若将cp命令中的路径设置为目录,则将该目录下的所有内容复制到主机
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
# 将容器内的整个/etc 目录复制到主机当前文件夹下
docker cp centos-container:/etc /home/long
- create: 使用指定的镜像创建容器。与run命令不同,使用create命令只能创建容器而并不启动
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
# 创建容器
docker create -it --name centos-container centos /bin/bash
# 若想使用刚刚创建的容器,则必须使用docker start 命令启动容器
docker start centos-container
# 进入容器内部
docker attach centos-container
# 退出容器
exit
# 停止容器
docker stop centos-container
- diff: 检查容器文件系统的修改(查看修改内容)
docker diff <容器名称,id>
# 示例
[root@localhost /home/long]# docker diff centos-container
C /run
A /run/secrets
C /root
A /root/.bash_history
- events: 实时输出Docker服务器中发生的事件
docker events
另一终端,运行容器
docker start centos-container
此端输出
2018-04-26T19:16:35.017678507-07:00 network connect b2376bcc00f587966645b362992289aa78ea58080ea6713a9a418b5f82e64c48 (container=24d1711909362e7620f9c76f266a671f1a7336452e88ff32c4942a4768801d79, name=bridge, type=bridge)
2018-04-26T19:16:35.622752724-07:00 container start 24d1711909362e7620f9c76f266a671f1a7336452e88ff32c4942a4768801d79 (build-date=20170911, image=centos, license=GPLv2, name=centos-container, vendor=CentOS)
- exec: 用于从外部运行容器内部的命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# 执行
docker exec -it hello /bin/bash
ps -ef
- export: 将容器的文件系统导出为tar文件包
docker export <容器名称,id>
# 示例
docker export centos-container > centos-container.tar
- history: 显示镜像的历史。此处的历史依据Dockerfile文件中的设置创建。
docker history <选项><镜像名称,id>
# 示例
[root@localhost /home/long]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 33e02377a00f 2 weeks ago 553.8 MB
docker.io/nginx latest b175e7467d66 2 weeks ago 108.9 MB
docker.io/centos latest 196e0ce0c9fb 7 months ago 196.6 MB
[root@localhost /home/long]# docker history tomcat
- images: 查看所有镜像
[root@localhost /home/long]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 33e02377a00f 2 weeks ago 553.8 MB
docker.io/nginx latest b175e7467d66 2 weeks ago 108.9 MB
docker.io/centos latest 196e0ce0c9fb 7 months ago 196.6 MB
- import: 从压缩为tar文件(.tar .tar.gz .tgz .bzip .tar.xz .txz)的文件系统创建镜像
docker import <tar文件的URL或者 - ><注册名称>/<镜像名称>:<标签>
docker import centos-container.tar centos-container-2
cat centos-container | docker import - centos-container-2
- info: 显示当前系统信息、docker容器、镜像个数、设置等信息
docker info
- inspect: 获得更详细的容器、镜像或者任务信息
docker inspect <选项><容器或镜像名称,id>
# 示例
docker inspect centos-container
- kill: 向容器发送KILL信号,从而关闭容器(推荐使用更优雅温和的 docker stop 命令)
docker kill centos-container
- load: 从tar文件或标准输入中创建镜像
docker load <选项>
# 示例
docker load -i centos-container.tar
- login: 登录Docker 的注册服务器,若不设置注册服务器的地址,则默认登录dockerhub
docker login <选项><Docker 注册服务器的URL>
-e、--email="" 设置登录时使用的电子邮件
-p、--password="" 设置登录密码
-u、--username="" 设置登录时使用的账号
- logout: 从Docker注册服务器中登出
docker logout <选项><Docker 注册服务器的URL>
- logs: 获取容器日志
docker logs <容器名称,id>
# 示例
docker logs centos-container
- network: 管理docker的网络系统
docker network COMMAND
# 示例
docker network ls
- node: 管理docker的swarm集群节点
docker node ls
- pause: 暂停容器中所有的进程(可以是多个容器)
docker pause <容器名称,id>
# 示例
docker pause centos-container
# 恢复
docker unpause centos-container
- port: 查看容器的某个端口是否处于开放状态
docker port <容器名称,id><端口>
# 示例
docker port centos-container 8090
- ps: 查看容器列表
docker ps <选项>
-a、--all=false 列出所有容器。不带 -a 只输出在运行的容器
--before="" 列出特定容器创建前的容器,包含停止的容器。
-f、--filter=[] 设置输出过滤。如 "exited=0"
-l、--latest=false 列出最后创建的容器,包含停止的容器
-q、--quiet=false 只输出容器的id
# 示例
docker ps -a
- pull: 从一个远程仓库拉取镜像
docker pull <选项> <镜像名>:<标签>
# 示例
docker pull nginx:latest
- push: 将镜像推送到Docker注册服务器或者指定仓库
docker push <注册名>/<镜像名>:<标签>
docker pull 192.168.1.150:10000/centos-container:latest
- rename: 修改某一个容器名字
docker rename <容器名> <新容器名>
# 示例
docker rename centos-container centos
- restart: 重启容器
docker restart <容器名称,id>
docker restart centos-container
- rm: 删除容器
docker rm <容器名称,id>
# 示例
docker ps -a
docker rm hello
docker ps -a
- rmi: 删除镜像, 若不指定标签,则删除latest标签
docker rmi <注册名称>/<镜像名称,id>:<标签>
# 示例
docker images
docker nginx
docker images
- run: 使用命令行指定镜像创建容器
docker run <选项><镜像名称,id><命令><参数>
# 示例
docker ps -a
docker run --name hello -i -t centos /bin/bash
docker ps -a
- save: 将镜像保存为tar包文件
docker save <选项><镜像名称>:<标签>
# 示例
[root@localhost /home/long]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/tomcat latest 33e02377a00f 2 weeks ago 553.8 MB
docker.io/nginx latest b175e7467d66 2 weeks ago 108.9 MB
docker.io/centos latest 196e0ce0c9fb 7 months ago 196.6 MB
[root@localhost /home/long]# docker save nginx -o nginx.tar
[root@localhost /home/long]# ll
total 110028
drwxr-xr-x. 2 long long 6 Sep 28 2017 Desktop
drwxr-xr-x. 2 long long 6 Sep 28 2017 Documents
drwxr-xr-x. 2 long long 6 Sep 28 2017 Downloads
drwxr-xr-x. 2 long long 6 Sep 28 2017 Music
-rw-------. 1 root root 112667648 Apr 26 22:46 nginx.tar #生成了新的文件
drwxr-xr-x. 2 long long 6 Sep 28 2017 Pictures
drwxr-xr-x. 2 long long 6 Sep 28 2017 Public
drwxr-xr-x. 2 long long 61 Oct 17 2017 samba
drwxr-xr-x. 2 long long 6 Sep 28 2017 Templates
drwxr-xr-x. 2 long long 6 Sep 28 2017 Videos
[root@localhost /home/long]#
- search: 根据名字在docker hub搜索你要的镜像
docker search <选项><搜索词>
--automated=false 只显示由docker hub 的automated build 创建的镜像
--no-trunc=false 显示所有因因为内容过长而省略的部分
-s、--stars=0 显示滴啊有特定星级以上的镜像
# 示例
docker search nginx
- service: 管理docker服务
docker service [COMMAND]
docker service ls #主要用于swarm集群
- start: 启动一个或多个容器
docker start <选项><容器名称,id>
# 示例
docker start centos-container
- stats: 显示一个容器的使用资源情况,包括cpu,内存,硬盘等
docker stats <选项><容器名称,id>
# 示例
docker stats centos-container
- stop: 停止容器
docker stop<选项><容器或镜像名称,id>
# 示例
docker stop centos-container
- swarm: 管理Docker Swarm集群
docker swarm [COMMAND]
# 初始化一个swarm集群
docker swarm init
- tag: 标记本地镜像,将其归入某一仓库
docker tag <选项><镜像名称>:<标签><注册地址,用户名>/<镜像名称>:<标签>
#示例
docker tag nginx:latest youset:6666/nginx:0.1
- top: 显示容器中正在运行的进程信息
docker top <容器名称,id><ps选项>
#示例
docker top centos-container
- unpause: 停止容器内的所有进程
docker unpause <容器名称,id>
#示例
docker unpause centos-container
- update: 动态地更新容器配置。可以使用这个命令限制容器在docker主机上使用太多的资源
docker update <容器名称,id>
#示例
doucker update centos-container
- version: 展示docker版本信息
[root@localhost /home/long]# docker version
Client:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-55.gitc4618fb.el7.centos.x86_64
Go version: go1.8.3
Git commit: c4618fb/1.12.6
Built: Thu Sep 21 22:33:52 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24
Package version: docker-1.12.6-55.gitc4618fb.el7.centos.x86_64
Go version: go1.8.3
Git commit: c4618fb/1.12.6
Built: Thu Sep 21 22:33:52 2017
OS/Arch: linux/amd64
- volume: 管理docker数据卷
docker volume [COMMAND]
# 示例
docker volume ls
- wait: 等待容器终止,然后输出 Exit Code
docker wait <容器名称,id>
# 示例
docker wait centos-container
以上就是docker的主要命令,包括docker swarm集群的一些命令,除此之外还有一些其他的命令,如下:
--api-enable-cors=false 使用API时,启用CORS(cross-origin resource sharing)
-b 、--bridge="" 使用事先创建的网桥接口。若设置为none,则不在容器内使用网络
--bip="" 使用CIDR标记法设置docker 的IP带宽。该选项不能与-b选项同时使用
如:`-bip="192.168.0.0/24"`
-D 、--debug 启用调试模式
-d 、--deamon=false 以守护进程模式运行
--dns 设置docker要使用的DNS服务器
--dns-search=[] 设置docker要使用的DNS搜索域。若设置为:example.com,则向服务器查询hello时,将首先查找hello.example.com
-e、--exec-drive="native" 设置docker运行驱动,可设置为Native与lxc
--fixed-cidr="" 固定分配IPv4地址的带宽。该IP地址必须在-b选项设置的网桥网络或--bip设置的IP网段内
-G、--group="docker" 以守护进程模式运行时,使用-H选项创建Unix套接字后,设置该Unix套接字所在的组。使用""空字符串表示不设置分组
-g、 --graph="/var/lib/docker" 设置docker使用目录的顶层路径
-H、--host[] 以守护进程模式运行时,设置套接字路径。
--icc=true 开启容器间通信
--insecure-registry=[] 使用私有证书搭建docker注册服务器时,设置docker注册服务器域名
--ip=0.0.0.0 使用docker run 命令时-p选项将端口暴露在外时,设置要绑定的默认IP地址
--ip-forward=true 开启net.ipv4.ip_forward
--ip-masq=true 为网桥上的IP地址开启IP伪装(masquerading)
--iptables=true 开启iptables规则
--mtu=0 设置容器的网络最大传输单元(MTU, Maxmum transmission unit)若不设置,则使用路由器的默认MTU或者设置为1500
-p、--pidfile="/var/run/docker.pid" 设置PID文件路径
-registry-mirror=[] 设置docker registry 的镜像地址
-s、--storage-driver=[] 设置储存驱动,默认为auto,也可以设置为drivcemapper
--selinux-enabled=false开启SELinux SELinux尚不支持BTRFS储存驱动
--storage-opt 设置存储驱动选项
--tls=false 使用TLS
--tlscacert="/home/exapmleuser/.docker/ca.pem" 设置要在远程证书中使用的CA证书文件的路径
--tlscert="/home/exapmleuser/.docker/cert.pem" 设置证书文件路径
--tlskey="/home/exapmleuser/.docker/key.pem" 设置密匙文件路径
tlsverify="false" 使用TLS远程证书,守护进程与客户端全部使用证书验证
-v、--version=false 打印版本信息
网友评论