1 开始,停止,重启
systemctl start docker
systemctl stop docker
systemctl restart docker
2 查看系统镜像,增加,删除镜像
docker image ls
docker pull nginx:1.20
docker rmi -f 镜像名or镜像id
docker rmi $(docker images -q) 删除所有镜像
3 查看当前所拥有的容器
docker ps
docker ps -a
4 运行,停止,重启,kill一个容器
docker run -itd -v /root/project/tongits/mongo:/root/mongo --name nginx -p 81:82 nginx:1.20 /bin/bash // 81为主机端口,82为容器端口
6379/tcp, 0.0.0.0:8081->8083/tcp // 6379和8083这种带tcp的为容器端口,8081为主机端口
docker start 容器名or容器id
docker stop 容器名or容器id
docker restart 容器名or容器id
docker kill 容器名or容器id
如果启动容器后,操作了防火墙,就需要重启docker服务,才能对容器进行start和restart操作。
5 进入,退出容器
docker exec -it 容器名or容器ID /bin/bash
exit
6 删除容器,删除所有容器
docker rm 容器名or容器id
docker rm $(docker ps -a -q)
7 修改容器名
docker rename 容器ID/容器名 新容器名
8 拷贝文件
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径 容器外路径
#从外部 拷贝文件到容器内
docker cp 容器外路径 容器ID/名称: 容器内路径
拷贝路径下所有文件到容器中
sudo docker cp /home/centos1_user1/cms_server/. f89d120396de:/root/cms_server
9 查看容器运行的进程
sudo docker top redis_1
10 修改docker映射端口
/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
systemctl restart docker
11 自定义镜像
先生成Dockerfile文件
FROM centos:centos7.9.2009
MAINTAINER salsl “1242290499@qq.com”
WORKDIR /root
ADD openresty-1.19.9.1.tar.gz /root
指令生成镜像
docker build -t openresty:1.19.9.1 .
openresty表示镜像名
1.19.9.1表示版本
. 表示在当前目录
12 将已有的容器提交成镜像
docker commit -m=“描述信息” -a=“作者” 容器id 目标镜像名:[TAG]
13 新增开启容器的时候执行的指令
docker commit -m=“开启容器,自动运行指令的时间节点” -a=“yuanshi” --change=“WORKDIR /root/openresty” -c ‘CMD [“/bin/bash”, “-c”, “/root/openresty/op.sh start”]’ 1fad6f6afb02 ts_openresty:1.0.0.2
docker run -itd -v /root/project/tongits/openresty/logic:/root/openresty/logic --name openresty -p 80:80 -p 81:81 -p 82:82 -p 9966:9966 -p 8022:22 ts_openresty:1.0.0.2
docker run -itd -v /root/project/tongits/openresty/logic:/root/openresty/logic --name openresty --privileged -p 80:80 -p 81:81 -p 82:82 -p 9966:9966 -p 8022:22 ts_openresty:1.0.0.2 /usr/sbin/init