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