Docker常用命令使用
-
docker ps
列出容器
使用语法:
docker ps [options] options参数说明: -a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 --no-trunc :不截断输出。 -q :静默模式,只显示容器编号。 -s :显示总的文件大小。
ex:
#列出所有正在运行的容器 docker ps #列出所有容器 docker ps -a #根据容器的Status过滤 docker ps -f STATUS=created #列出最近创建的3个容器 docker ps -n 3
-
docker run
创建一个新的容器并运行一个命令
使用语法:
docker run [options] image [command] [arguments] options参数说明: -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name="hadoop01": 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "zhq": 指定容器的hostname; -e username="zhaoheqiang": 设置环境变量; --env-file=[]: 从指定文件读入环境变量; --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; -net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; --link=[]: 添加链接到另一个容器; --expose=[]: 开放一个端口或一组端口; -p 将容器的端口映射到主机的某个端口 -P 将容器的80端口映射到主机的任意一个端口 -v 指定主机某目录映射到容器某个目录
ex:
#使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为ruby_nginx。 docker run --name ruby_nginx -d ruby:latest #使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。 docker run -P -d nginx:latest #使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。 docker run -p 80:80 -v /data:/data -d nginx:latest #使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。 docker run -it nginx:latest /bin/bash
-
docker start/stop/restart/pause/unpause
启动容器/停止容器/重启容器/暂停容器中所有的进程/恢复容器中所有的进程
使用语法
docker start/stop/restart/pause/unpause [container]
ex:
#启动nginx容器 docker start nginx #停止nginx容器 docker stop nginx #重启nginx容器 docker restart nginx #暂停数据库容器mysql提供服务。 docker pause mysql #恢复数据库容器mysql提供服务。 docker unpause mysql
-
docker kill
杀掉一个或多个运行中的容器
使用语法
docker kill [options] container options参数说明: -s :向容器发送一个信号 默认是KILL
ex:
#杀死运行中的nginx容器 docker kill -s KILL nginx / docker kill nginx
-
docker rm
删除一个或多少容器
使用语法
docker rm [options] container options参数说明: -f :通过SIGKILL信号强制删除一个运行中的容器 -l :移除容器间的网络连接,而非容器本身 -v :删除与容器关联的卷
ex:
#强制删除centos容器 docker rm -f centos #移除容器nginx对容器mysql的连接,连接名database docker rm -l database #删除容器nginx,并删除容器挂载的数据卷 docker rm -v nginx
-
docker create
创建一个新的容器但不启动它
使用语法
docker create [options] image [command] [arguments]
ex:
参照docker run -
docker exec
在运行的容器中执行命令
使用语法
docker exec [options] container command [arguments] options参数说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端
ex:
#在容器nginx中以交互模式执行容器内/root/run.sh脚本 docker exec -it nginx /bin/sh /root/run.sh #在容器nginx中开启一个交互模式的终端 docker exec -it nginx /bin/bash
-
docker inspect
获取容器/镜像的元数据
使用语法
docker inspect [options] name|id options参数说明: -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。
ex:
#获取镜像nginx的元信息 docker inspect nginx #获取正在运行的容器mysql的IP docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
-
docker attach
连接到正在运行中的容器
使用语法
docker attach [options] container
ex:
#进入nginx容器 docker attach nginx
-
docker commit
从容器创建一个新的镜像
使用语法
docker commit [options] container [repository[:tag]] options参数说明: -a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字; -p :在commit时,将容器暂停。
ex:
docker commit -a "zhaoheqiang" -m "init_Java_web_enviroment" a4987c6c174a2 JavaWeb:1.0.0
-
docker cp
用于容器与主机之间的数据拷贝
使用语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
ex:
#将主机/www/soft目录拷贝到容器centos的/www目录下。 docker cp /www/soft centos:/www/ #将主机/www/soft目录拷贝到容器centos中,目录重命名为soft。 docker cp /www/soft centos:/soft #将容器centos的/soft目录拷贝到主机的/tmp目录中。 docker cp centos:/soft /test/
-
docker diff
检查容器里文件结构的更改。
使用语法
docker diff 容器名
ex:
#查看容器nginx的文件目录 docker diff nginx
-
docker pull
从镜像仓库中拉取或者更新指定镜像
使用语法
docker pull [options] name[:tag] options参数说明: -a :下载所有已经打过标签的镜像 --disable-content-trust :忽略镜像的校验,默认开启
ex:
#获取java最新版镜像。 docker pull java #获取java的所有镜像。 docker pull -a java
-
docker push
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
使用语法
docker push [options] name[:tag] options参数说明: --disable-content-trust :忽略镜像的校验,默认开启
ex:
#上传javaweb环境1.0.1镜像到远程镜像库 docker push javaWeb:1.0.1
-
docker search
查找某个镜像
使用语法
docker search imageName
-
docker images
查看本地镜像
-
docker rmi
删除本地一个或多少镜像
使用语法
docker rmi [options] image [image...] options参数说明: -f :强制删除; --no-prune :不移除该镜像的过程镜像,默认移除
ex:
强制删除本地镜像zhaoheqiang/centos:1.0。 docker rmi -f zhaoheqiang/centos:1.0
-
docker tag
标记本地镜像,将其归入某一仓库
使用语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
ex:
#将镜像ubuntu:15.10标记为 zhaoheqiang/ubuntu:v5 镜像 docker tag ubuntu:15.10 zhaoheqiang/ubuntu:v5
-
docker build
使用Dockerfile创建镜像
详细使用方法 参考:http://blog.csdn.net/rznice/article/details/52211620?yyue=a21bo.50862.201879