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

Mysql 具有来自Docker Hub的自定义图像的多容器应用程序,mysql,wordpress,docker,docker-compose,dockerhub,Mysql,Wordpress,Docker,Docker Compose,Dockerhub,我有一个多容器docker compose应用程序(WordPress+MySQL),我需要在数据中心与开发人员共享。该应用程序将从那里运行(它将是一个公共站点),但我无法直接访问部署。因此,我将把这些图像推送到Docker Hub,并向有问题的开发人员提供一个Docker-compose.yml文件。该网站是静态的,没有上传,用户帖子或评论将被添加一旦它启动和运行。我不确定的是我需要推送多少图像——显然是自定义WordPress图像,以及我添加的所有内容,但我是否也应该推送MySQL图像?这将

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

这是用于构建原始图像的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的任何澄清。

您如何称呼自定义图像?我看不到任何DockerFile,您也可以使用多个层在单个图像中实现它。但这将是反模式的。应遵循为单独服务制作单独容器的规定。现在进入第二个问题,是的,您需要公开此容器的端口。@Nico好问题,Dockerfile。我一直在学习很多关于将WordPress站点迁移到Docker的教程,但是没有一个使用Dockerfile。所以我猜没有任何形象正在建立。。。但我不清楚在这种情况下Dockerfile中会出现什么。我的所有数据和内容都依赖于卷,但如何为这两个服务构建自定义映像?您必须提交以保存更改,对于制作多个层,请使用Dockerfile。@Shirish啊,是的,我忘记了docker提交,谢谢。