docker:容器挂载本地目录(八)

方式一:修改配置文件(需停止docker服务)

修改配置

在宿主机中修改容器配置文件
vim /var/lib/docker/containers/[container-ID]/config.v2.json
找到
MountPoints
修改

"MountPoints":{"/home":{"Source":"/docker","Destination":"/home","RW":true,"Name":"","Driver":"","Type":"bind","Propagation":"rprivate","Spec":{"Type":"bind","Source":"//docker/","Target":"/home"}}}

解释

"MountPoints":
{"/home": # 容器目录
	{
	"Source":"/docker", # 宿主机目录
	"Destination":"/home", # 描述
	"RW":true, # 读写
	"Name":"","Driver":"","Type":"bind","Propagation":"rprivate",
	"Spec":{"Type":"bind","Source":"//docker/","Target":"/home"}
	}
}

重启docker服务

如果容器正在运行中,首先停止运行的容器

docker stop <container-ID>

重启docker服务

systemctl restart docker

启动指定容器

docker start <container-ID>

方式二:提交现有容器为新镜像,然后重新运行它

$ docker ps  -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES
   5a3422cseedd        ubuntu:14.04          "/bin/bash"              About a minute ago   Exited (0) About a minute ago                       agitated_newton
$ docker commit 5a3422cseedd <newimagename>
$ docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 <newimagename> /bin/bash

然后停止旧容器,并使用这个新容器。如果需要新容器使用旧名称,在删除旧容器后使用docker rename,修改新的容器名称为之前的名称。

方式三:export容器为镜像,然后import为新镜像

$docker container export -o ./myimage.docker <container-ID>
$docker import ./myimage.docker <newimagename>
$docker run -ti -v "$PWD/dir1":/dir1 -v "$PWD/dir2":/dir2 <newimagename> /bin/bash

然后停止旧容器,并使用这个新容器。如果需要新容器使用旧名称,在删除旧容器后使用docker rename,修改新的容器名称为之前的名称。

启动时挂载本地磁盘

docker run -it -d -v /storage:/home/test <container-ID> /bin/bash

启动时端口映射

docker run -it -d -p 127.0.0.1:5000:5000 <container-ID> /bin/bash

docker容器启动后,添加容器端口映射

iptables -t nat -A  DOCKER -p tcp --dport 8080 -j DNAT --to-destination 172.17.0.2:8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向往的生活Life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值