安装请看docker-ce安装文档

docker命令合集

参考docker --help

选项

-D 使用debug模式
-l 日志级别(有debug|info|warn|error|fatal),默认info
-v 显示版本
管理命令
config 管理docker配置
container 管理容器
image 管理镜像
network 管理网络
service
swarm
常用命令
attach 不好用,用exec
build 用Dockerfile创建一个镜像
commit 将一个修改的容器提交为一个新的镜像(尽量少用使用,因为commit之后你将看不到容器构建的过程,使用一个不知道如何生成的容器是一件非常危险的事情。)
cp 在容器和物理机之间复制文件
create 创建一个新容器
diff 检查docker容器修改内容(和该运行镜像版本创建时对比)
exec 在容器中执行命令
history 显示镜像所有的历史记录
images 查看镜像列表
kill 强制关闭容器
logs 查看容器日志
port 显示容器端口列表
ps 查看容器列表(默认运行中的,-a查看所有)
pull 从镜像仓库拉取一个镜像
push 上传一个镜像到镜像仓库
rename 重命名一个容器
restart start、stop、restart,管理容器
rm 删除一个容器
rmi 删除一个就喜爱那个
save 将一个镜像保存为一个本地压缩文件
search 在镜像仓库搜索镜像
start start、stop、restart,管理容器
stop start、stop、restart,管理容器
stats 通过一个动态的界面显示容器信息
tag 对容器创建一个标签,防止docker重启容器状态丢失
top 显示容器的后台进程信息
update 更新容器的配置
version 显示docker版本信息
info docker服务详细信息

命令

systemctl start docker 启动docker
systemctl stop docker 停止docker
systemctl restart docker 重启docker
docker version 查看docker的版本
docker info 查看docker的环境
docker --help查看docker的使用命令与选项
docker command --help 查看命令的帮助信息docker build --help
docker search 从仓库中查找镜像
docker pull 从仓库下载镜像
docker push 上传镜像到仓库
docker images 等于docker image ls,查看镜像列表
docker run [options] [command] 运行镜像,生产容器
docker ps -l 查看正在运行中的容器列表
docker container --help 查看容器控制命令列表
docker exec -t -i /bin/bash 以bash进入正在运行的容器内部,attach会导致容器停止,不用
docker log 查看容器日志文件
docker build --help 查看构建镜像帮助信息(常用选项-f 指定Dockerfile文件,-t 打标签,--pull 使用最新额镜像构建,还能设置cpu、内存等的使用)
docker network --help 查看docker 网络管理命令
docker volume --help 查看docker 卷管理命令

这里就以centos7的镜像为例

查看镜像

docker search centos

获取镜像(官方镜像一般只有几层或十几层,如果你获取的就喜爱那个有几十上百层,那这个镜像就有问题,请不要使用)

docker pull centos

拉取的过程很慢,而且可能出现超时的情况,当然这得感谢伟大的墙。
查看本地镜像

docker images

给镜像打标签

docker tag centos:latest centos:1.0.1

查看镜像构建的历史(能够知道镜像构建所有步骤,不知道构建过程的镜像最好不要使用)

docker history centos:1.0.1

docker run

运行镜像

docker run -itd -p 80:80 --name myrhl centos /sbin/init

docker-2-简单使用docker-ce_第1张图片
/sbin/init是使用的命令
查看状态(两个命令效果一样)

docker ps -l
docker container ls
docker-2-简单使用docker-ce

docker exec

进入容器

docker exec -it myrhl /bin/bash

进去后主机名会变成容器ID
docker-2-简单使用docker-ce
查看后台进程(镜像本身是不运行任何进程的,/sbin/init是运行容器是开启的进程,/bin/bash是进入容器使用的进程)
docker-2-简单使用docker-ce
退出

exit

停止容器(e51d50128293是容器ID,用容器名一样)

docker stop e51d50128293

docker export

备份容器

docker export myrhl > /tmp/export_centos.tar.gz
docker-2-简单使用docker-ce

查看所有容器

docker ps -a

docker container ls -a

删除所有容器(删除容器之前需要停止容器,当然可以强制删除)

docker rm docker container ls -a|grep -v 'CONTAINER'|awk '{print $1}'

docker rm `docker ps -qa`

查看镜像

docker images

删除镜像
docker rmi docker images -q

docker-2-简单使用docker-ce
备份镜像

docker save

docker save centos > /tmp/save_centos.tar.gz

docker-2-简单使用docker-ce

删除镜像(先删除所有使用该镜像的容器)

docker rmi centos
docker-2-简单使用docker-ce

docker load

恢复镜像

docker load < /tmp/save_centos.tar.gz
docker-2-简单使用docker-ce

docker import

恢复容器镜像(latest是前面恢复的,0.0.3是现在恢复的)

docker import - centos:0.0.3 < /tmp/export_centos.tar.gz
docker-2-简单使用docker-ce

注意:线上尽量不要使用latest作为容器标签,因为这样做很可能导致你以后不知道生产环境使用的是哪个版本的镜像。

docker build

构建镜像(需要Dockerfile)

docker build -f Dockerfile -t myimage:latest .

-f指定dockfile文件(名字不是必须为Dockerfile),-t指定镜像标签,.指定上下文路径

docker volume

管理docker 卷

#创建volume,可以指定
docker volume create [OPTIONS] [VOLUME]

docker history

#查看镜像构建的历史消息

docker swarm join-token worker

#查看以worker身份添加到swarm中的认证信息。