1.容器相关:
- 启动已有容器:docker start 【容器id或者容器名】
- 停止运行的容器:docker stop 【容器id或容器名】
- 重启容器:docker restart 【容器id或容器名】
- 删除容器:docker rm -f 【容器名或者容器id】 # -f表示强制删除
- 从镜像启动容器:docker run --restart=always -d 【镜像名或者id】(其他参数请参考官方文档)
- 查看当前所有的容器:docker ps -a
- 进入容器:docker exec -it 【容器名或者id】 /bin/bash 退出:ctl+D。/bin/bash表示进到容器的sh,再比如进入到redis容器的redis-cli命令界面:docker exec -it 【容器名或者id】redis-cli。进入postgresql客户端:docker exec -it pg psql -U postgres
- 查看日志docker logs 容器名
- copy容器文件到系统:docker cp [容器名]:[文件名] ./[文件名] (拷贝docker容器里面的文件到当前目录)
2.image镜像相关:
- 从docker镜像仓库拉取postgresql10镜像:docker pull postgres:10
- 强制删除某个镜像:docker rmi -f 【镜像id或者镜像名】
- 查看当前所有的镜像:docker image ls 或者 docker images
- 拉取镜像时,防止镜像被篡改:
docker pull mysql/mysql-server@sha256:c67d4670cf152327798774c5d82a788be4f7c308472a6868764b800a3bea70c5
上面的sha256是官方的镜像仓库提供的digest值,使用这种方式拉取镜像,docker会根据digest值到仓库拉取镜像,拉取下来后,docker会对该镜像重新计算sha256值,并比对我们给它提供的digest值是否一致。比如上面的digest值就是从hub.docker.com这个仓库里面获取到的mysql/mysql-server:8.0.23-1.1.19这个版本的digest值:https://hub.docker.com/layers/mysql/mysql-server/8.0.23-1.1.19/images/sha256-c67d4670cf152327798774c5d82a788be4f7c308472a6868764b800a3bea70c5?context=explore。这样拉取的镜像是不包含tag的,所以要使用命令:
docker tag d320e74763f4 mysql/mysql-server:8.0.23-1.1.19
重新定义tag值。
-
查看镜像的digest:
docker images --digests
3.系统相关:
- docker info:查看docker相关信息
- docker load:加载本地镜像(该镜像是通过docker save从镜像保存的镜像)
- docker import:加载本地镜像(该竟像是通过docker export从容器保存的镜像)