首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态地将端口映射传递到坞-组合命令?

如何动态地将端口映射传递到坞-组合命令?
EN

Stack Overflow用户
提问于 2020-01-21 13:50:54
回答 4查看 5.7K关注 0票数 7

我有两个容器映像,并使用" docker -compose -d“编写和运行对接器。这个很好用。我想在另一个港口运行相同的容器映像,比如8081。我们能否将端口映射作为命令行参数进行传递--复合-port novnc :8081:8080?如何动态地将端口映射传递到坞-组合命令?

代码语言:javascript
复制
version: '2'
services:
  ide:
    image: myApp
    image: myImage:latest
    environment:
      - DISPLAY=novnc:0.0
    depends_on:
      - novnc
    networks:
      - x11
  novnc:
    image: myImageTwo:latest
    environment:
      - DISPLAY_WIDTH=1600
      - DISPLAY_HEIGHT=968
    ports:
      - "8080:8080"
    networks:
      - x11
networks:
  x11:
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-01-21 14:33:36

在你的码头使用${VAR} -Compose.yml

例如:

代码语言:javascript
复制
version: '2'
services:
  apache:
    image: httpd:2.4
    volumes:
      - .:/usr/local/apache2/htdocs/
    ports:
      - ${APP_PORT}:80

然后使用环境变量:

代码语言:javascript
复制
$ export APP_PORT=8080
$ docker-compose up

或内联版本:

代码语言:javascript
复制
$ APP_PORT=8080 docker-compose up
票数 7
EN

Stack Overflow用户

发布于 2020-01-21 14:10:16

您可以使用.env文件来完成它。

例如,您将得到这样的内容:

代码语言:javascript
复制
$ cat .env
TAG=v1.5

$ cat docker-compose.yml
version: '3'
services:
  web:
    image: "webapp:${TAG}"

在该示例中,可以看到标记值位于env文件中设置的变量中。

您可以在官方医生中找到更多信息。

票数 3
EN

Stack Overflow用户

发布于 2020-01-21 14:25:47

将“端口”部分更改为:

代码语言:javascript
复制
    ports:
      - "${MY_PORT}:8080"

然后只需使用MY_PORT=8081 docker-compose up -d

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

https://stackoverflow.com/questions/59842614

复制
相关文章

相似问题

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