Docker 常用指令
优化工作
镜像源加速:
$ mkdir -p /etc/docker
$ tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uoggbpok.mirror.aliyuncs.com"]
}
EOF
重启:
$ systemctl daemon-reload
$ systemctl restart docker
基础命令
搜索镜像:
$ docker search centos
获取镜像:
$ docker pull nginx
直接搜索并获取以及运行镜像:
$ docker run -it --name="centos" -v /opt/vol/mysql:/var/lib/mysql -v /opt/vol/html:/var/www/html centos:6.9
镜像管理
查看基础镜像:
$ docker image ls
# 选项-a可查看隐藏镜像
查看某个镜像详情:
$ docker image inspect cf49811e3cdb
镜像重新打一个tag:
$ docker image tag cf49811e3cdb yunya/centos:v1
删除一个镜像:
$ docker image rm -f yunya/centos:v1
删除所有镜像:
$ docker image rm -f `docker image ls -q`
容器管理
运行交互型容器:
$ docker container run -it --rm --name="centos" -v /opt/nginx/html:/usr/share/nginx/html centos:7.5.1804 /bin/bash
# i是指能够交互
# t是指tty,即分配一个伪终端
# /bin/bash是指该容器运行的镜像内第一个脚本,可不加
# --rm是指运行完成后立即清除容器,不保存至容器列表,可不加
# --restart=always是指docker服务重启后立即重新运行该容器,而不需要手动start
运行服务型容器:
$ docker container run -d -p 80:80 -v /opt/nginx/html:/usr/share/nginx/html --name="nginx_01" nginx:latest
查看基础容器,不包含隐藏的容器:
$ docker container ls
查看所有容器:
$ docker container ls -a
查看容器详情:
$ docker container inspect 1ee9fa2fdc3b
启停服务型容器:
$ docker container stop nginx_01
$ docker container start nginx_01
启停交互型容器:
$ docker container stop centos_01
$ docker container start -i centos_01
进入容器:
$ docker container exec -it nginx_01 /bin/bash
删除一个已关闭的容器:
$ docker container rm -f centos_100
删除所有已关闭的容器:
$ docker container prune
$ docker container rm -f `docker container ls -a -q`
查看容器内部进程:
$ docker top nginx_01
查看容器的日志:
$ docker logs -ft nginx_100
# -f : 跟踪日志输出
# --since :显示某个开始时间的所有日志
# -t : 显示时间戳
# --tail :仅列出最新N条容器日志