最近因为公司业务,开始了解关于docker的使用,在保存一个新的镜像,运行该镜像容器后,发现不能再修改映射的端口号
修改容器映射端口出错,重启容器通过“-p 端口:端口”命令添加端口映射后,提示重启失败:“docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused “exec: “-p”: executable file not found in $PATH”: unknown.
ERRO[0000] error waiting for container: context canceled”
后面查找资料后才明白,运行后的容器不能再通过“-p 端口:端口”参数来修改映射,由于我没有root权限,所以只能用最简单的办法:将当前容器通过docker commit命令提交为一个镜像,然后重新执行docker run命令添加端口映射
1. 先停止当前容器
sudo docker stop [你的容器名字]
- 可以运行
sudo docker ps -a
查看当前所有运行的容器的信息,图中所选就是容器名字
2. 将容器保存为一个新的镜像
sudo docker commit [选择的容器名字] [新的镜像名字]
3. 用新的镜像运行新的容器
sudo docker run -it -d --name [自己命名容器的名字] p 宿主端口号:容器端口号 [镜像名字]
4.进入启动的容器内(可以通过步骤1知道容器id)
sudo docker exec -it [容器Id] /bin/bash