docker 常用命令
1、查看docker运行状态
docker info
2、查看运行的容器
docker ps
3、查看全部容器(包含停止的)
docker ps -a
4、重新启动已经停止的容器
docker restart + 容器id
5、以命令行的形式进入已经启动的容器,d9b919990f96是容器id
docker exec -it d9b919990f96 /bin/bash
6、使用ls命令查看当前容器下的目录
7、查看nginx容器安装位置,在上一步进入nginx容器后 ,执行whereis nginx
8、进入nginx容器的/etc/nginx目录,执行cd /etc/nginx
9、查看/etc/nginx中文件,使用ls命令,不能用ll
10、在宿主机的home/testnginxconf目录拷贝nginx.conf 到nginx容器内的/etc/nginx目录
root@iZ2ze4dqv19b84j5z3sueyZ:/home/testnginxconf# docker cp /home/testnginxconf/nginx.conf d9b919990f96:/etc/nginx
docker cp /home/testnginxconf/upstream/nginx.conf e321fa5c766c:/etc/nginx
11、在宿主机home/testnginxconf目录拷贝default.conf到/home/testnginxconf/
root@iZ2ze4dqv19b84j5z3sueyZ:/home/testnginxconf# docker cp d9b919990f96:/etc/nginx/conf.d/default.conf /home/testnginxconf/
12、修改default.conf文件后,拷贝到容器中/etc/nginx/conf.d/目录
root@iZ2ze4dqv19b84j5z3sueyZ:/home/testnginxconf# docker cp /home/testnginxconf/default.conf d9b919990f96:/etc/nginx/conf.d/
docker cp /home/testnginxconf/upstream/default.conf e321fa5c766c:/etc/nginx/conf.d/
13、使用docker cp 命令更换了容器中的default.conf 或者nginx.conf文件后,需要重启nginx容器
14、将nginx的主页从容器中拷贝到宿主机目录
docker cp d9b919990f96:/usr/share/nginx/html/index.html /home/nginxtestpublish/8005index
15、将发布的网站主页拷贝到nginx容器内部新建的网站目录
root@iZ2ze4dqv19b84j5z3sueyZ:~# docker cp /home/nginxtestpublish/8005index/index.html 4f264f9203f7:web8005
root@iZ2ze4dqv19b84j5z3sueyZ:~# docker cp /home/nginxtestpublish/8006index/index.html cad365f2fdda:web8006
16、docker 以别名形式运行指定镜像
docker run -it -d -p hostPort:containerPort --name 别名 镜像id/镜像名称
docker run -it -d -p 8006:80 --name 8006 nginx
# 运行容器 docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash # -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径
17、docker 启动所有容器,并且打印所有启动容器的id
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
18、docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
19、docker中 删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
20、docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
21、
## 获取容器ID [root@centos ~]# docker inspect -f='{{.Id}}' mysql a7257e0aa9363f7a8778903898f977fda7496e30ca85512b89daa7ac517ee87c ## 获取容器名字 [root@centos ~]# docker inspect -f='{{.Name}}' mysql /mysql ## 获取容器创建时间 [root@centos ~]# docker inspect -f='{{.Created}}' mysql 2020-05-09T02:10:41.964421619Z ## 获取容器日志路径 [root@centos ~]# docker inspect -f='{{.LogPath}}' mysql /var/lib/docker/containers/a7257e0aa9363f7a8778903898f977fda7496e30ca85512b89daa7ac517ee87c/a7257e0aa9363f7a8778903898f977fda7496e30ca85512b89daa7ac517ee87c-json.log ## 运行平台 [root@centos ~]# docker inspect -f='{{.Platform}}' mysql linux ## 获取容器IP地址 [root@centos ~]# docker inspect -f='{{.NetworkSettings.Networks.bridge.IPAddress}}' mysql 172.18.0.4
22、查看网络列表
docker network ls
23、查看某个网络详情
docker network inspect 22c32517e57a
24、获取容器的i地址p
docker inspect f5227fac15ce | grep -i ipaddr
docker inspect mysql1master|grep IPAddress
docker inspect --format={{.NetworkSettings.IPAddress}} mysqlmaster
25、docker连接两个容器 --link 要连接的容器名:要连接的容器别名
docker run -it -d -p 8112:80 --link mysqltest:mysqltest --name mysql3307core coremysql3307
26、查看容器防火墙
docker inspect 容器ID | grep -i iptables
如果输出结果包含以下行,那么 Docker 容器的防火墙是启用的:
17、docker的nginx容器因为conf文件有一行配置没有添加分号;导致报错
18、 dockers 运行某个容器几秒就退出,如何查看日志
18.1 运行一下命令查看日志路径
docker inspect --format '{{.LogPath}}' 容器id
18.2 cat 查找的日志路径