首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在自己的网络中运行Docker容器

如何在自己的网络中运行Docker容器
EN

Stack Overflow用户
提问于 2016-07-11 18:13:58
回答 0查看 558关注 0票数 2

今天我从"Docker Toolbox“切换到了"Docker for Mac",因为Docker现在终于可以写访问我的User目录了(它不支持"Docker Toolbox") --耶!

但是这个变化也包括所有的容器现在运行在我的本地主机下,而不是像以前那样在Docker的IP下运行(例如192.168.99.100)。

因为我的localhost在默认情况下侦听各种端口(80、443、...)我不想总是在我的本地开发域(例如example.dev:8443)中添加新创建的端口,这些端口与标准的端口不冲突,我想知道如何像以前一样运行我的容器。

我阅读了有关network配置的文章,并尝试了很多方法(创建一个新的主机网络,在其前面使用IP暴露端口,等等),但都没有让它正常工作。

我需要什么样的配置才能使用IP 192.168.99.100运行我的应用容器?到目前为止,这就是我的docker-compose.yml

代码语言:javascript
复制
version: '2'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    depends_on:
      - mysql
      - redis
      - memcached
    ports:
      - 80:80
      - 443:443
      - 22:22
      - 3000:3000
      - 3001:3001
    volumes:
      - ./app/:/app/
      - /tmp/debug/:/tmp/debug/
      - ./:/docker/
    volumes_from:
      - storage
    # cap and privileged needed for slowlog
    cap_add:
      - SYS_PTRACE
    privileged: true
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml

  mysql:
    build:
      context: docker/mysql/
      dockerfile: MariaDB-10
    ports:
      - 3306:3306
    volumes_from:
      - storage
    volumes:
      - ./data/mysql:/var/lib/mysql
      - /tmp/debug/:/tmp/debug/
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml

  redis:
    build: docker/redis/
    volumes_from:
      - storage
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml

  memcached:
    build: docker/memcached/
    volumes_from:
      - storage
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml

  storage:
    build: docker/storage/
    volumes:
      - /storage
EN

回答

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

https://stackoverflow.com/questions/38304374

复制
相关文章

相似问题

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