首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为“脱机”环境准备码头安装

为“脱机”环境准备码头安装
EN

Server Fault用户
提问于 2017-04-12 10:28:59
回答 1查看 2K关注 0票数 2

我们将在一个没有出站互联网接入的环境中部署我们的代码库--使用码头。然而-我们似乎不能预先构建整个东西,所以我们不需要从任何存储库中提取图像。服务器由对接者和对接者组成。

我们有一个docker-compose.yml文件,它的长度要长得多,但这是我们无法工作的部分:

代码语言:javascript
复制
 node:
    container_name: my-node
    build: ./docker/node
    volumes_from:
      - volumes_source
    ports:
      - "5000:5000"
    links:
      - mysql
      - redis

在/docker/节点中,我们有一个Dockerfile:

代码语言:javascript
复制
FROM node:latest

EXPOSE 5000

RUN npm install pm2 -g

CMD ["pm2-docker", "/var/www/laravel/socket/socket.js"]

我想预先构建这个程序,这样它就不用运行npm install pm2 -g位了,因为它不能工作。我试过的是:

  1. 将其引导为internet连接主机上的容器。
  2. docker commit 8671bf3bd1b5 my-node:latest (8671 bf3bd1b5是容器id)
  3. docker save -o my-node.docker my-node:latest
  4. docker export 8671bf3bd1b5 > my-node_latest.tar
  5. 将文件传输到脱机环境
  6. docker load -i my-node.docker
  7. cat my-node_latest.tar | docker import - my-node:latest
  8. 在离线环境中从docker-compose.yml中删除build: ./docker/node并用image: my-node:latest替换

不过,它仍然试图拉出节点:最新版本并运行npm install pm2 -g。我们做错什么了?

EN

回答 1

Server Fault用户

发布于 2018-08-14 10:24:04

是的,您已经导出了名为my-节点的图像/容器:最新的。但是在Dockerfile中,它是由node:Dockerfile构建的,您忘记了导出它。..。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/844090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档