Skip to the content.

1. docker 系统命令

# 查看docker版本
docker version

# 显示docker系统的信息
docker info

# 日志信息
docker logs
docker logs -n 10 <容器名orID> # 显示最后10行日志
docker logs -f <容器名orID> # 实时显示日志

# 故障检查
service docker status

# 启动关闭docker
sudo service docker start|stop

2. 查看容器信息

# 查看当前`运行`的容器
docker ps

# 查看`全部`容器 a = all
docker ps -a

# `只`查看全部容器的id和信息
docker ps -a -q

# 查看全部容器占用的空间 s - size
docker ps -as

# 查看一个正在运行容器进程,支持 ps 命令参数  ????
docker top

# 查看容器的示例id 大写的I
sudo docker inspect -f  '' [id]

# 检查镜像或者容器的参数,默认返回 JSON 格式
docker inspect <容器名orID>

# 返回 ubuntu:14.04  镜像的 docker 版本
docker inspect --format '' ubuntu:14.04
docker inspect --format='' ubuntu:14.04

3. 创建删除容器

# 创建一个容器命名为 test 使用镜像daocloud.io/library/ubuntu
docker create -it --name test daocloud.io/library/ubuntu

# 创建并启动一个容器 名为 test 使用镜像daocloud.io/library/ubuntu
docker run --name test daocloud.io/library/ubuntu

# 创建并且启动一个容器 名为 my_centos3 适用镜像 centos:latest
docker run -it --name my_centos3 -d centos:latest /bin/bash

# 删除一个容器
docker rm [容器id]

# 删除所有容器
docker rm `docker ps -a -q`

# 根据Dockerfile 构建
docker build -t [image_name] [Dockerfile_path]

4. 启动停止容器等操作

# 启动/停止/重启
docker start|stop|restart [id]

# 暂停|恢复 某一容器的所有进程
docker pause|unpause [id]

# 杀死一个或多个指定容器进程
docker kill -s KILL [id]

# 停止全部运行的容器
docker stop `docker ps -q`

# 杀掉全部运行的容器
docker kill -s KILL `docker ps -q`

5. 交互式进入容器

sudo docker exec -it  bash
sudo docker exec -i  bash
sudo docker exec -t  bash
sudo docker exec -d  bash

docker exec -it my_centos /bin/bash

6. 容器于宿主拷贝文件

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

# 本地文件上传到对应容器的目录
docker cp local.sh [CONTAINERid]:[TagPath]

docker cp ~/test.txt my_centos:/root # 宿主机 -> 容器
docker cp my_centos:/root/test.txt ~ # 容器 -> 宿主机

7. 查看容器的root用户密码

docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1

8. 容器同步命令

# 保存对容器的修改
docker commit

# 保存某个容器成为一个镜像
docker commit -a "user" -m "commit info" [CONTAINER] [imageName]:[imageTag]
docker commit -a "roger" -m "centos with miniconda3" my_centos centos_conda:miniconda3

# 把一个正在运行的容器保存为镜像
docker commit <CONTAIN-ID> <IMAGE-NAME>

# 推送一个容器到中心仓库
docker login --username=[userName] --password=[pwd] [registryURL]

## 建议登录后查看 docker info
docker tag [imageID] [remoteURL]:[imageTag]
docker push [remoteURL]:[imageTag]

# 拉取提交的容器
docker pull [remoteURL]:[imageTag]

# 对比容器的改动
docker diff

# 附加到一个运行的容器上
docker attach

9. 容器资源限制参数

# 限制内存最大使用
-m 1024m --memory-swap=1024m
# 限制容器使用CPU
--cpuset-cpus="0,1"