如何使docker容器对其主机开放
机器信息:nectar虚拟机实例如何使docker容器对其主机开放,docker,containers,couchdb,Docker,Containers,Couchdb,机器信息:nectar虚拟机实例 操作系统:Ubuntu 20.04 LTS(Focal)amd64 安全组:默认+ssh+http docker图像信息:ibmcom/couchdb3:3.1.1 命令行类型和输出: 命令: docker pull ibmcom/couchdb3:${VERSION}其中VERSION设置为等于3.1.1 输出: 命令: root@yingrui1:/home/ubuntu# docker create\ --name couchdb${node}
操作系统:Ubuntu 20.04 LTS(Focal)amd64
安全组:默认+ssh+http
docker图像信息:ibmcom/couchdb3:3.1.1
命令行类型和输出: 命令:
docker pull ibmcom/couchdb3:${VERSION}
其中VERSION设置为等于3.1.1输出: 命令:
root@yingrui1:/home/ubuntu# docker create\
--name couchdb${node}\
--env COUCHDB_USER=${user}\
--env COUCHDB_PASSWORD=${pass}\
--env COUCHDB_SECRET=${cookie}\
--env ERL_FLAGS="-setcookie \"${cookie}\" -name \"couchdb@${node}\""\
ibmcom/couchdb3:${VERSION} --network host -p 8080:5984
其中“node”是一个ip地址
输出:AFE973A0515CB8D4A7ACF13BCDF019F7B029DCF291C449F0A2A1772F6C80234
命令:docker启动couchdb@172.0.17.2
请注意“couchdb@172.0.17.2“是我刚刚创建的容器输出:
一些长字符串
命令:docker ps
输出:
如果我理解正确,您需要端口显示映射,如“4399->0.0.0.0”“什么。当前端口信息显示它未向主机打开其端口。所以我想知道你怎么做?我也尝试了
expose
和-P
,但它们都不起作用,我现在真的很绝望,任何帮助都将不胜感激。正如@David Maze指出的,问题是我应该将-P移到图像名称之前。多么愚蠢的错误
docker
像-p
这样的选项需要放在图像名称之前。(您可能不想使用--networkhost
)图像名称后的任何内容都被解释为要运行的命令。您是一个传奇人物!!!谢谢
root@yingrui1:/home/ubuntu# docker create\
--name couchdb${node}\
--env COUCHDB_USER=${user}\
--env COUCHDB_PASSWORD=${pass}\
--env COUCHDB_SECRET=${cookie}\
--env ERL_FLAGS="-setcookie \"${cookie}\" -name \"couchdb@${node}\""\
ibmcom/couchdb3:${VERSION} --network host -p 8080:5984
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
04aaabb201f1 ibmcom/couchdb3:3.1.1 "/docker-entrypoint.…" 22 seconds ago Up 3 seconds 4369/tcp, 5984/tcp, 9100/tcp couchdb172.17.0.2