docker: invalid publish opts format (should be name=value but got

在使用docker安装mysql的时候报了这个错误:
docker: invalid publish opts format (should be name=value but got ‘3307:3306’).
原因是因为我期望docker容器和宿主机公用一套网络,即指定–net=host

docker run \
	--name=otter-mysql \
	-p 3307:3306 \
	--net=host \
	-e MYSQL_ROOT_PASSWORD=root \
	-v /srv/otter-mysql/conf:/etc/mysql/conf.d \
    -v /srv/otter-mysql/logs:/logs \
    -v /srv/otter-mysql/data:/var/lib/mysql \
	-d mysql:5.7

这是原来的安装命令,修改为如下就好了

	--name=otter-mysql \
	--net=host \
	-e MYSQL_ROOT_PASSWORD=root \
	-v /srv/otter-mysql/conf:/etc/mysql/conf.d \
    -v /srv/otter-mysql/logs:/logs \
    -v /srv/otter-mysql/data:/var/lib/mysql \
	-d mysql:5.7

原因如下:
容器不需要在iptables里添加任何转发规则,因为它已经attach到了和宿主一样的网络上。所以,不支持使用参数“-p”的端口映射,并且Docker不会管理运行在这种类型网络上的容器的防火墙规则。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值