docker 问题总结记录
一、出现network 已经被占用的情况
解决方式:
1.先删除 容器
2.使用docker network inspect 网络模式(host、bridge)查看名字
3.使用 docker network disconnet -f 网络模式 要删除的名字
二、docker 启动时端口占用
有几种占用情况:1.已经发布的服务端口占用,第二种是发布的服务中没有使用该端口
第一种就是换 一个端口,执行下面的操作
先停止所有容器,然后在宿主机执行:
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d
systemctl restart docker
重启docker服务
三、路径挂载和容器内文件复制出来
路径的挂载其实很简单,只需要 在run的时候 使用-v 主机路径/:容器路径但是有些容器还是很有讲究,例如nginx和tomcat,你想把自己的项目放进去跑起来,必须把项目的路径挂载进去,是把具体的那个项目路径对应进去,例如 text.war包在主机的 /u01/test 要挂载到tomcat的运用的webapps下面的话,需要用 -v /u01/test/test.tar:/usr/local/tomcat/webapps/test.war 如果直接用 -v /u01/test/:/usr/local/tomcat/webapps/ 的话会把本来产生的文件给覆盖成空的。
文件复制出来到主机:使用docker cp 容器名称:/容器内的文件路径 主机外的路径