问题:我有一个浓缩的node.js应用程序,该应用程序使用docker-compose.yml
使用mongodb。现在,我需要将其推送到我的注册表。我该怎么做呢?
我的docker-compose:
version: "3"
services:
node_app_1:
container_name: node_app_1
restart: always
build: .
image: myusername/node_app_1
volumes:
- ./src:/usr/src/app/src
env_file:
- .env
ports:
- "3000:3000"
links:
- mongo
networks:
app_net:
mongo:
container_name: mongo
image: mongo:3.6.6-jessie
volumes:
- ./data:/data/db
ports:
- "27017:27017"
networks:
app_net:
aliases:
- mongo
networks:
app_net:
当我运行docker-compose push
时,图像被推送到仓库中,但是当我将其拉出并运行时,我得到一个错误,说我的node.js应用无法连接到mongo。同样也没有设置环境变量。
答案 0 :(得分:1)
docker-compose push
仅将 images 推送到注册表,而不是compose文件本身(请参阅documentation)。要再次设置完整的应用程序(从注册表中提取),您需要另一个没有build
语句的撰写文件,并使用docker-compose up
。