V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qq296015668  ›  全部回复第 3 页 / 共 3 页
回复总数  53
1  2  3  
2021-02-07 14:54:03 +08:00
回复了 qq296015668 创建的主题 Docker Docker IPV6 NAT
经过测试,VMware 虚拟机需要像文中这样操作,但是 Hyper-V 只需要开启地址转发

firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

然后重启 docker 即可
1. 你可以对容器设置固定 IP
2. 使用 depends_on 管理启动顺序
2020-12-06 14:54:23 +08:00
回复了 leonme 创建的主题 Docker 目前/var/lib/docker 占用空间多大,如何迁移到其他分区?
新版本用 --data-root 取代了 --graph
vi /etc/docker/daemon.json
{
"data-root": "/data/docker"
}

测试 "graph": "/data/docker" 也没有问题,但是推荐使用 "data-root": "/data/docker"
2020-12-06 14:50:46 +08:00
回复了 leonme 创建的主题 Docker 目前/var/lib/docker 占用空间多大,如何迁移到其他分区?
软连接不行,如果是比较新版本, 1.18 1.19 之类的
假设你要迁移的地址是 /data
停止 docker 后,mv /var/lib/docker /data
vi /etc/docker/daemon.json
{
"graph": "/data/docker"
}
重启 docker 即可
https://registry-1.docker.io/v2/ 这是接口地址,会通过这个接口查询你要下载的镜像信息,如果存在才会到下载步骤。下载会使用 mirrors 镜像,但是查询不会。
@Jays NAT 方式的话是缺少 ip6tables 规则,添加就行
假如你使用的是 { "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
ip6tables -t nat -A POSTROUTING -s 2001:db8:1::/64 -j MASQUERADE
2020-12-06 14:35:02 +08:00
回复了 ohohohh 创建的主题 Docker docker 挂载非空目录无效?
你的容器里面应该对目录是否存在以及权限是否正确要有所判断
例:
```sh
if [ ! -d "/var/lib/mysql/$DB_NAME" ]; then
mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
mysqld --daemonize --user=mysql
sleep 5s
mysql -uroot -e "create database $DB_NAME default charset 'utf8' collate 'utf8_bin';grant all on $DB_NAME.* to '$DB_USER'@'%' identified by '$DB_PASSWORD';flush privileges;";
tail -f /var/log/mysqld.log
else
mysqld --daemonize --user=mysql
tail -f /var/log/mysqld.log
fi
```
你也可以参考 MySQL 官方的启动脚本 [docker-entrypoint.sh]( https://github.com/mysql/mysql-docker/blob/mysql-server/5.7/docker-entrypoint.sh)
2020-12-06 13:38:38 +08:00
回复了 powersee 创建的主题 问与答 请问 docker 如何让容器获得可以用的 ipv6 地址?
$ vi /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
这里的部署是正确的,如果你想用 ipv6 nat 的话,添加下面一条命令就行
$ ip6tables -t nat -A POSTROUTING -s 2001:db8:1::/64 -j MASQUERADE
# 这里的 2001:db8:1::/64 地址是上面 /etc/docker/daemon.json 的 fixed-cidr-v6 内容,根据实际情况修改

这样你的容器就能访问 ipv6 地址了,这里的 2001:db8:1::/64 是内部地址,和 ipv4 一样,实际都是使用宿主的 ip 去访问的

我也是遇到这个问题然后搜索到这个提问,希望能帮到有需要的人
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3887 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.