标签 docker 下的文章

容器端口映射,还是有点复杂的。
1,要么在一开始就设置好,
2,要么把这个容器停止,打包成新容器,用新的容器名运行的时候重新设置端口映射,

docker stop container-name
docker commit container-name new-image-name
docker run -it -d --name container-name -p p1:p1 -p p2:p2 new-image-name

3,要么就用下面这个方法。

先查看容器状况

docker ps 

把容器名字(CONTAINER NAMES)记下来。
比如说:kele

先停止现有容器

docker stop kele
service docker stop

# 停止 docker 服务
sudo systemctl stop docker.socket
sudo systemctl stop docker.service

# 启动 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker.service

根据名字查询ID

为什么要这么做,docker ps看不到么。是的,看不全。这ID很长的。

docker inspect kele | grep Id
 "Id": "7ce41cc8d56559939391f1ddd90408fe936fb37de776ab9ddb6358f0a3c36f36",

修改配置文件

cd /var/lib/docker/containers/{Id}/
比如
cd /var/lib/docker/containers/7ce41cc8d56559939391f1ddd90408fe936fb37de776ab9ddb6358f0a3c36f36/

修改config.v2.json和hostconfig.json
照葫芦画瓢就行了,在原有的端口后面追加即可。

重新启动docker和容器

service start docker
docker start kele

来源:https://jasonkayzk.github.io/2020/01/16/%E4%BD%BF%E7%94%A8Docker%E5%AE%B9%E5%99%A8%E6%97%B6%E6%B7%BB%E5%8A%A0%E5%AF%B9%E5%A4%96%E6%98%A0%E5%B0%84%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%96%B9%E6%B3%95%E6%80%BB%E7%BB%93/
https://www.huaweicloud.com/articles/2f77258d9743af7269285e1bf10ef58e.html