Я пытаюсь перейти от использования бродячей установки к докеру.Я прочитал приличный кусок докера Deepdive и кучу документации.Я пытаюсь использовать docker-compose для связывания вещей.
Итак, изначально у меня были только контейнеры db и php-apache.Composer, npm, gulp, git, node и все остальное тоже были установлены там.Но это казалось неправильным?Поэтому я попытался разбить php и apache на их собственный контейнер и вместо этого «поцарапать», где любые биты и бобы командной строки могут запускаться подобно vm.Поэтому в Dockerfile для этого я пытаюсь установить composer, npm и некоторые другие вещи.Но я не думаю, что собираю эти контейнеры должным образом, проблема, с которой я сейчас сталкиваюсь, заключается в том, что моя установка php из контейнера php-apache не может быть использована для установки composer с нуля.
Буду признателен за несколько советов о том, как мне лучше всего поступить, я не могу найти в Интернете ни одного примера, подобного этому (что действительно странно, так как это обычный набор ламп).Как мне это структурировать?
version: '3'
services:
scratch:
container_name: scratch
build: ./docker/scratch
volumes:
- .:/var/www/html
depends_on:
- db
- php-apache
links:
- db
- php-apache
php-apache:
container_name: php-apache
build: ./docker/php-apache
ports:
- 80:80
volumes:
- .:/var/www/html
- ./docker/vhosts:/etc/apache2/sites-available
db:
container_name: db
build: ./docker/mysql
ports:
- 3306:3306
volumes:
- db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: main
MYSQL_USER: root
MYSQL_PASSWORD: root
restart: always
volumes:
db:
driver: local