sever: 192.168.1.101上的mantis迁移到 server: 192.168.1.103
一、192.168.1.101上备份、导出镜像
c6bc3a351a84 mantis:1.0.1 "/usr/sbin/init" 11 months ago Up 2 days 22/tcp,
0.0.0.0:8888->80/tcp, :::8888->80/tcp, 0.0.0.0:23306->3306/tcp, :::23306->3306/tcp
mantis 1.0.1 d147a1f8f3aa 11 months ago 7.6GB
mantis 1.0.3 34ce7f98923f 25 hours ago 19.5GB
或
{
"Type": "bind",
"Source": "/opt/mysqldata",
"Destination": "/home/mysql",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
**"Source": " /sys/fs/cgroup",
"Destination": " /sys/fs/cgroup",**
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
或
# docker inspect --format='{{.Mounts}}' 容器名
例如:
[{bind /minio/data /data true rprivate} {bind /minio/config /root/.minio true rprivate}]
二、scp复制/opt/mysqldata到192.1681.103
三、192.168.1.103导入镜像
mantis 1.0.3 34ce7f98923f 24 hours ago 19.5 GB
四、创建并运行容器
docker run --privileged=true -itd -v /opt/mysqldata:/home/mysql --name=mantis -p 8888:80 -p 23306:3306 -v
/sys/fs/cgroup:/sys/fs/cgroup mantis:1.0.3 /usr/sbin/init
参数说明:
为了在容器中使用 systemctl,需要两个条件:
1)需要包含 Volume(卷) /sys/fs/cgroup
如果不包含这个卷,执行 systemctl 会报错:
Couldn't find an alternative telinit implementation to spawn。
2)需要在 run 时加 --privileged,运行在特权模式,容器内的 root 用户不再是普通用户,拥有真正的 root 权限。
如果不加此选项,那么在启动时,挂载卷的时候会报错:
Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
[!!!!!!] Failed to mount API filesystems, freezing.
其它参数说明:
--hostname,-h:指定容器中的 centos 操作系统主机名
--name:指定容器的名称,用 docker container list --all 显示时,最后一列即为容器名称
--publish,-p:指定网络端口映射
--restart:值为 always 为了使容器随 docker 服务启动时,自动运行
192bdee3efe9 mantis:1.0.3 "/usr/sbin/init" 8 hours ago Up 8 hours
22/tcp, 0.0.0.0:8888->80/tcp, 0.0.0.0:23306->3306/tcp mantis
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞3
添加新评论0 条评论