Node.js 如何链接两个docker容器?
我是docker的新手。我用headless chrome构建了一个爬虫程序,但现在我必须用docker部署,有镜像,它将在端口9222中承载远程调试模式,我的节点应用程序正在运行另一个容器,我不知道如何链接这两个容器Node.js 如何链接两个docker容器?,node.js,google-chrome,docker,Node.js,Google Chrome,Docker,我是docker的新手。我用headless chrome构建了一个爬虫程序,但现在我必须用docker部署,有镜像,它将在端口9222中承载远程调试模式,我的节点应用程序正在运行另一个容器,我不知道如何链接这两个容器 docker run -it --name nodeserver --link chrome:chrome nodeapp bash 但在docker内部,我无法访问本地主机:9222我建议使用docker compose,它附带docker for mac/windows,
docker run -it --name nodeserver --link chrome:chrome nodeapp bash
但在docker内部,我无法访问本地主机:9222我建议使用docker compose,它附带docker for mac/windows,专为这种简单连接而设计 你需要一个docker文件,比如
version: "3"
services:
headless-browser:
image: yukinying/chrome-headless
ports:
- 9222
crawler:
build:
context: .
dockerfile: Dockerfile
links:
- headless-browser
然后是同一文件夹中的Docker文件
e、 g.用于测试连接使用
FROM alpine
RUN apk update && apk add curl
CMD curl http://headless-browser:9222
使用命令docker compose up
输出将是文本形式的控制台页面(因此您知道连接工作正常)
要避免缩进出现任何问题。。。我已经制作了一个复制和粘贴的repo:我建议使用docker compose,它随mac/windows的docker一起提供,专门用于这种简单的连接 你需要一个docker文件,比如
version: "3"
services:
headless-browser:
image: yukinying/chrome-headless
ports:
- 9222
crawler:
build:
context: .
dockerfile: Dockerfile
links:
- headless-browser
然后是同一文件夹中的Docker文件
e、 g.用于测试连接使用
FROM alpine
RUN apk update && apk add curl
CMD curl http://headless-browser:9222
使用命令docker compose up
输出将是文本形式的控制台页面(因此您知道连接工作正常)
要避免缩进出现任何问题。。。我已经创建了一个复制和粘贴的repo:
错误:在文件“.\docker compose.yml”中,服务“ports”必须是映射而不是数组。
它抛出了一个错误我在缩进复制和粘贴到SO中时出错。我已经在上面更新了,如果它弄乱了缩进,我也会为您重新创建一个缩进(请参见答案)错误:在文件“.\docker compose.yml”中,服务“port”必须是一个映射而不是数组。
它会抛出一个错误我在缩进副本中出错并粘贴到SO中。我已经更新了上面的内容,如果它弄乱了你的缩进,我也进行了回购(见答案)