1. 单独进入镜像容器
sudo docker exec -it a678362e5941 /bin/bash
-it : 交互式访问容器
/bin/bash :可以缩写为 bash
2.启动docker镜像
docker run --network host -d --privileged=true -it --rm --name gitlab1 --publish 2181:2181 --volume /srv/gitlab/data:/var/opt/gitlab zookeeper:latest
--network host : --net=host 表示当前容器启动的时候使用宿主机的网络及端口(添加了--network host --publish 就会失效,因为--network host是使用宿主机的本地ip以及容器默认host)
-d 容器内部运行
--rm 当容器停止运行的时候删除本地容器
--name 为当前启动的容器设置一个名字
--publish 选择暴露的端口 8888:8080 8888自定义的端口 8080容器的端口
--volume -v 容器启动的时候同时为当前容器创建券,当前券为宿主机管理的券可以自己设置地址然后存放
--restart always 设置当前容器为自启动(不能和--rm同时使用)
3.查看启动的容器
docker ps
查看当前正在运行的容器
docker ps -a
查看当前全部的容器(包括停止的)
4. 查看当前所有的券
docker volume ls
5.查看当前容器或券的信息
docker volume inspect v_id
docker inspect container_id
6.删除容器
docker rm container_id
7.删除镜像
docker rmi images_id
8.删除没有使用的券或容器
docker container prune
docker volume prune
9.docker从中央仓库拉取镜像
docker pull images_name
10.查询那个镜像拥有当前命令
yum search systemctl
11.查看当前暴露的接口
netstat -antp
12.启动当前停止的容器
docker start container_id
启动指定容器
docker stop container_id
停止当前容器
13.删除当前所有没有运行的容器
docker rm `docker ps -aq`
14.创建由docker管理的券
docker run --name my_nginx --it --rm -d -p 2180:2181 -v nginx_html:/usr/share/nginx/html
-v 创建的券就是由docker容器管理的券,因为没有指明宿主机的位置,nginx_html也是volume的名称
在宿主机上单独创建的券然后单独关联上当前容器
$ docker run -d \
--name=nginxtest \
--mount source=nginx-vol,destination=/usr/share/nginx/html \
nginx:latest
15.查看docker容器的日志
docker logs -f container_id
-f 以运行的方式打开(怎么称呼来着忘了。。。。)
16.查看镜像的所有版本
curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\
| tr -d '[\[\]" ]' | tr '}' '\n'\
| awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
————————————————
原文链接:https://blog.csdn.net/fenglibing/article/details/92378090