Docker 常用命令

1. 基本相关:

# 查看版本
docker -v
docker version

# docker 服务
service docker start
service docker stop
service docker restart

# 查看容器/镜像的元数据
docker inspect name

2. 镜像相关:

# 查看镜像
docker images

# 安装镜像
docker pull nginx
docker pull nginx:1.15.10  # 指定版本

# 移除镜像
docker rmi nginx
docker rmi nginx:1.15.10

3. 容器相关:

# 启动容器
docker run -d -p 80:80 --name nginx nginx

# 查看已启动容器
docker ps
docker ps -a  # 查看所有

# 终止容器
docker stop nginx

# 重新启动已终止容器
docker start nginx

# 重启容器
docker restart nginx

# 移除容器(运行中的)
docker rm -vf nginx  # 通过容器name删除
docker rm -vf f8  # 通过容器id删除
docker rm -vf $(docker ps -a -q)  # 删除所有容器

# 查看日志
docker logs nginx

# 查看容器配置信息
docker inspect nginx

# 查看所有容器的IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

3.1.docker run相关参数说明:

-d  # 守护进程
-i  # 交互模式运行
-t  # 为容器分配一个伪终端

--name name : # 容器命名
--network nm : # 容器的网络
--ip 172.18.0.10 : # 指定IP

-p 5432:5432  # 映射端口号
-e POSTGRES_USER=postgres  # 传递给容器的参数
-v /www/html:/www/html  # 挂载目录到容器
-w /go/src/app # 指定容器内的运行目录

# 为容器提供root权限(方便修改一些如/etc/sys目录的文件)
--privileged=true

# 容器重启策略
--restart always

4. Docker 日志相关

# 日志存放位置:
/var/lib/docker/containers/containers_id/

# 查看日志(自容器启动以来的完整日志)
docker logs nginx

# 查看日志(自容器启动以来的完整日志, 并跟踪实时日志(持续打印新产生的日志))
docker logs -f nginx

# 从日志末尾显示100行日志
docker logs -f --tail=100 nginx

# 打印自2018-2-8之后的日志
docker logs -f --since="2018-02-08" nginx

# 打印自2018-5-8之前的日志
docker logs -f --until ="2018-05-08" nginx

# 打印时间段2018-2-8到2018-5-8之间的日志
docker logs -f --since="2018-02-08" --until="2018-05-08" nginx

# 显示日志产生的时间
docker logs -f --timestamps nginx