systemctl enable docker # 开机自启
systemctl start docker # 启动
sudo systemctl daemon-reload # 守护进程重启
systemctl restart docker # 重启
sudo service docker restart # 重启
service docker stop # 关闭
systemctl stop docker # 关闭
docker version # Docker 版本信息
docker info # Docker 系统信息,包括镜像和容器数。
docker images # 列出本地镜像
docker images ubuntu # 列出本地镜像中REPOSITORY为ubuntu的镜像
docker rmi -f 镜像名1 镜像名2 ... # 删除本地一个或多个镜像
docker tag # 标记本地镜像,将其归入某一仓库。
例:docker tag ubuntu:15.10 runoob/ubuntu:v3 # 将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像
docker build # 命令用于使用 Dockerfile 创建镜像
例1: docker build -t runoob/ubuntu:v1 . # 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1
例2: docker build github.com/creack/docker-firefox # 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像
例3: docker build -f /path/to/a/Dockerfile . # 通过 -f Dockerfile 文件的位置
例4: docker build -t test/myapp . # 在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回
docker history # 查看指定镜像的创建历史
例: docker history runoob/ubuntu:v3 # 查看本地镜像runoob/ubuntu:v3的创建历史
docker save # 将指定镜像保存成 tar 归档文件
例: docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3 # 将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档
例1: docker load < busybox.tar.gz # 导出保存在 busybox..tar.gz 中的镜像
例2: docker load --i fedora.tar # 导出 fedora.tar 中的文件镜像
docker import my_ubuntu_v3.tar runoob/ubuntu:v4 # 从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4
docker login -u 用户名 -p 密码 # 登陆
docker logout # 登出
docker pull java # 从Docker Hub下载java最新版镜像
docker pull -a java # 从Docker Hub下载REPOSITORY为java的所有镜像
docker push myapache:v1 # 上传本地镜像myapache:v1到镜像仓库中
docker search -s 10 java # 从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像
例1: docker run --name mynginx -d nginx:latest # 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx
例2: docker run -P -d nginx:latest # 使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口
例3: docker run -p 8080:80 -v /data:/data -d nginx:latest # 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 8080 端口,主机的目录 /data 映射到容器的 /data
例4: docker run -p 127.0.0.1:80:8080/tcp ubuntu bash # 绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上
例5: docker run -it nginx:latest /bin/bash # 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令
docker kill -s KILL mynginx # 杀掉运行中的容器mynginx
例1: docker rm -f db01 db02 # 强制删除容器 db01、db02
例2: docker rm -l db # 移除容器 nginx01 对容器 db01 的连接,连接名 db
例3: docker rm -v nginx01 # 删除容器 nginx01, 并删除容器挂载的数据卷
例4: docker rm $(docker ps -a -q) # 删除所有已经停止的容器
docker pause db01 # 暂停数据库容器db01提供服务
docker unpause db01 # 恢复数据库容器db01提供服务
docker create --name myrunoob nginx:latest # 使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob,不启动
例1: docker exec -it mynginx /bin/sh /root/runoob.sh # 在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本
例2: docker exec -i -t mynginx /bin/bash # 在容器 mynginx 中开启一个交互模式的终端
例3: docker exec -it 9df70f9a0714 /bin/bash # 通过 exec 命令对指定ID为9df70f9a0714的容器执行 bash
docker inspect mysql:5.6 # 获取镜像mysql:5.6的元信息
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql # 获取正在运行的容器mymysql的 IP
docker top mymysql # 查看容器mymysql的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done # 查看所有运行容器的进程信息
docker attach --sig-proxy=false mynginx # 容器mynginx将访问日志指到标准输出,连接到容器查看访问信息
docker events --since="1467302400" # 显示docker 2016年7月1日后的所有事件
docker events -f "image"="mysql:5.6" --since="1467302400" # 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件
docker logs -f mynginx # 跟踪查看容器mynginx的日志输出
docker logs --since="2016-07-01" --tail=10 mynginx # 查看容器mynginx从2016年7月1日后的最新10条日志
docker wait CONTAINER
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2 # 将id为a404c6c174a2的容器按日期保存为tar文件
docker port mymysql # 查看容器mynginx的端口映射情况
docker commit -a "提交人信息" -m 说明信息" a404c6c174a2 mymysql:v1 # 将容器a404c6c174a2 保存为mymysql:v1镜像,并添加提交人信息和说明信息
实例1: docker cp /www/runoob 96f7f14e99ab:/www/ # 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下
实例2: docker cp /www/runoob 96f7f14e99ab:/www # 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www
实例3: docker cp 96f7f14e99ab:/www /tmp/ # 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中
docker diff mymysql # 查看容器mymysql的文件结构更改