我们将在一个没有出站互联网接入的环境中部署我们的代码库--使用码头。然而-我们似乎不能预先构建整个东西,所以我们不需要从任何存储库中提取图像。服务器由对接者和对接者组成。
我们有一个docker-compose.yml文件,它的长度要长得多,但这是我们无法工作的部分:
node:
container_name: my-node
build: ./docker/node
volumes_from:
- volumes_source
ports:
- "5000:5000"
links:
- mysql
- redis在/docker/节点中,我们有一个Dockerfile:
FROM node:latest
EXPOSE 5000
RUN npm install pm2 -g
CMD ["pm2-docker", "/var/www/laravel/socket/socket.js"]我想预先构建这个程序,这样它就不用运行npm install pm2 -g位了,因为它不能工作。我试过的是:
docker commit 8671bf3bd1b5 my-node:latest (8671 bf3bd1b5是容器id)docker save -o my-node.docker my-node:latestdocker export 8671bf3bd1b5 > my-node_latest.tardocker load -i my-node.dockercat my-node_latest.tar | docker import - my-node:latestbuild: ./docker/node并用image: my-node:latest替换不过,它仍然试图拉出节点:最新版本并运行npm install pm2 -g。我们做错什么了?
发布于 2018-08-14 10:24:04
是的,您已经导出了名为my-节点的图像/容器:最新的。但是在Dockerfile中,它是由node:Dockerfile构建的,您忘记了导出它。..。
https://serverfault.com/questions/844090
复制相似问题