Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
version: "2"
networks:
lan_0:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.19.0.0/24
gateway: 172.19.0.21
services:
nginx:
build: ./nginx/
ports:
- 80:80
- 443:443
links:
- php
volumes:
- ./code:/var/www/
networks:
lan_0:
ipv4_address: 172.19.0.22
php:
build: ./php/
expose:
- 9000
volumes:
- ./code/:/var/www/
extra_hosts:
- "website.local:172.19.0.22"
- "api.local:172.19.0.22"
networks:
lan_0:
ipv4_address: 172.19.0.23
mysql:
build: ./mysql/
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: dev
ports:
- 3306:3306
volumes:
- ./mysql/sql:/docker-entrypoint-initdb.d
- ./mysql/data:/var/lib/mysql
networks:
lan_0:
ipv4_address: 172.19.0.12
имена вида folder_service_n
version: '2'
services:
myproject-db:
build:
context: .
dockerfile: .docker/dev/db/Dockerfile
image: myproject:db
container_name: myproject_db
Куча sed'ов выглядит ужасно.Альтернативы ни чем не лучше, везде будет тот же самый PCRE (в лучшем случае)
Я бы просто создал конфиг-файл и переписал бы им дефолтный файл конфигаПростые решения увы не всегда подходят, иногда надо сохранить имеющийся конфиг. А со временем приходит понимание, что sed вовсе не ужасен, а совсем даже наоборот
Наверное автор имел в виду то, что некоторые вещи, вроде небольших однострочников могут перерасти в полтора килобайтный однострочник, например на перле, и превратятся в малопонятное и малосопровождаемое нечто, если наследник не сможет понять что этот однострочник в девичестве должен был выполнять.
Я например, не один раз в работе получал в наследство такие вот "однострочники", в которых сам автор через полгода после написания разобраться не мог :(
В этом плане мне нравятся шаблонизаторы, вроде встроенного в ruby ERB, с помощью которого можно генерить вполне приятные вещи, и не только конфиги
Эта статья послужит новичкам в этой сфере примером, как нужно упаковывать свое приложение в Docker контейнеры.Я — новичёк в этой сфере и раздел DockerFile из этой статьи выглядит для меня также, как нарисовать_сову.jpg
В дальнейшем советую добавить к этим командам --no-cache, чтобы каждый раз не компилировать составляющие
Запуск PHP приложения на Docker контейнерах (PHP-FPM, Nginx, PostgreSQL)