具有来自Docker Hub的自定义图像的多容器应用

时间:2019-10-21 11:44:16

标签: mysql wordpress docker docker-compose dockerhub

我有一个多容器docker-compose应用程序(WordPress + MySQL),需要与数据中心的开发人员共享。该应用程序将从那里运行(它将是一个公共站点),但是我将无法直接访问该部署。因此,我将图像推送到Docker Hub,并为有问题的开发人员提供docker-compose.yml文件。该网站是静态的,一旦启动并运行,将不会添加任何上传,用户帖子或评论。我不确定要推送多少个图像-显然是自定义WordPress图像,包含所有添加的内容,但是我还应该推送MySQL图像吗?这将包含所有数据-每个页面中的文本,链接等。我将在nginx-proxy后面运行该应用程序,因此还将其添加到撰写文件中。

这是用于构建原始映像的docker-compose文件:

version: '3'

services:
  db:
    image: mysql:5.7
    volumes:
      - ./db/initdb.d:/docker-entrypoint-initdb.d
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: some_root_password
      MYSQL_DATABASE: some_db
      MYSQL_USER: some_user
      MYSQL_PASSWORD: some_password

  wordpress-app:
    depends_on:
      - db
    image: wordpress:latest
    restart: always
    expose:
      - "80"
    environment:
      - VIRTUAL_PORT=80
      - VIRTUAL_HOST=example.org,example.com,example.local
    volumes:
      - ./wp:/var/www/html

networks:
  default:
    external:
      name: mynetwork

所以我当时想我需要提供的docker-compose文件应该看起来像这样:

version: '3'

services:
  db:
    image: myrepo/mydb
    restart: always

  wordpress-app:
    depends_on:
      - db
    image: myrepo/app
    restart: always

  nginx-proxy:
    image: jwilder/nginx-proxy:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

  whoami:
    image: jwilder/whoami
    environment:
      - VIRTUAL_HOST=whoami.local

networks:
  default:
    external:
      name: mynetwork

我想我也需要提供有关端口和主机的信息吗?也许数量?

在我的脑海中,我想到了只推送一个图像的想法,但是我猜,在配置之后,我确实需要两个自定义图像-WordPress和MySQL数据库。

感谢您对tihs的任何澄清。

0 个答案:

没有答案
相关问题