curl или школьным file_get_contents() дергать некий локальный URL.- /etc/letsencrypt/live/domen.ru/:/etc/letsencrypt/live/domen.ru/services:
nginx:
# ...
volumes:
# ...
- /etc/letsencrypt:/etc/letsencryptlive/domen.ru лежат не сами сертификаты, а линки на файлы двумя уровнями выше. Линки вы и видите, но указывают они на недоступные файлы. Правильно понимаю, что docker можно также спокойно использовать локально на windows?Правильно.
Как вы локально разворачиваете докер ?Под Mac или Windows cкачать Docker Desktop.
docker-compose.yml вашего проекта и docker-compose up А потом заходить внутрь контейнеров, или запускать дополнительные временные – со всякими git clone, composer install, npm i, mysql -p${MYSQL_ROOT_PASSWORD} < database_init.sql и пр.При разворачивании проекта через docker, создается некая виртуализация.Не совсем. Docker не виртуализация, а контейнеризация. Отсутствует виртуальная машина, в отличие от, например, VirtualBox. На бытовом уровне, есть некие изолированные виртуальные коробки-контейнеры, из которых наружу торчит, может, порт. И друг дружку эти коробки видят как компы в локальной сети.
Как тогда работать с проектом через IDE ? Если все окружение проекта на linux, а мы работаем на windows, как вообще люди работают через IDE в таких случаях ?Как вариант, работать как с удалённым Linux сервером. Подключаться к нему по SSH, тот же VS Code умеет через расширение Remote-SSH.
docker cp ./local.file containerName://var/www/remote.filedocker build (док) создаёт новый image (образ) В вашем примере с тегом python-barcodedocker run запускает из образа контейнер. Можно и не один, а несколько, даже параллельно. В вашем примере имя для него сгенерится автоматом, какая-нибудь смешная комбинация двух слов. Контейнер может работать, останавливаться, перезапускаться. Можно удалить контейнер. Контейнер не изменяет образ, из которого создан – он «накатывает» свою деятельность поверх, в новых слоях.базовый FROM образ -- образ с доп. слоями = ваш новый образ -- контейнер и изменения -- образ с изменениями все на php7.3, mysql 5.7, nginx
location /project-42 { root /projects/project-42; ... }
### или целый блок
server {
listen 80;
server_name project42.dev;
...
}nginx:
volumes:
- "/freelance/projects/Project-0/:/var/www/project0"
- "/freelance/projects/Project-42/:/var/www/project42"
# ...
php-fpm:
volumes:
# то же самое сюда2) Как проектам дать не localhost:8080, а нормальный урл типа project.dev?
docker-compose.yml пропишите вместо 8080:80 — 80:80, а в локальном файле hosts допишите 127.0.0.1 project.dev project42.dev docker network connect myapp_default mysqlmysql, как и требовалось. docker pull nginx
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
# предполагается, что в локальной папке /some/content
# у вас лежит какой-нибудь index.html project_files, который потом можно подключать к php через --volumes-from project_filesFROM ubuntu
RUN apt-get update && apt-get install -y git
RUN mkdir /root/.ssh/
COPY id_rsa /root/.ssh/id_rsa
# Add bitbuckets key
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
# CLone repo
RUN git clone git@bitbucket.org:username/projectname.git /project_files
# Create volume
VOLUME /project_filesid_rsa и билдите docker build -t myproject/files . и создаёте контейнер docker create --name project_files myproject/files /bin/truedocker pull composer/composer Надо его запустить и установить зависимости вашего проекта, подключив тот контейнер с файлами проекта:docker run --rm --volumes-from project_files -w "/project_files" composer installdocker run \
--name myproject_php \
--volumes-from project_files \
php:5-fpm