services:
frontend:
image: example/webapp
deploy:
resources:
limits:
cpus: '0.50'
memory: 50M
pids: 1
reservations:
cpus: '0.25'
memory: 20M
` `
, которыми окружено название таблицы, в шелле означают, что надо выполнить команду внутри них." ... "
, то экранируйте эти обратные кавычки: ...IF NOT EXISTS \`stack-table\`
bash
даже и не нужна, можно сразу выполнять команду mysql:docker exec stack-mysql \
mysql -u root -proot -h mysql \
-e 'CREATE DATABASE IF NOT EXISTS `stack-table`';
В одинарных кавычках экранировать обратные тики не нужно. container=<string>
когда имя интересующего контейнера известно и постоянно.restart
– пусть контейнер перезапускается автоматом после падения. И может, при запуске как-то куда-то отправляет «Доброе утро, админ!» README.md
с инструкцией по развёртыванию? Прямо копировать запущенный проект с VPS'ки — затея так-себе./var/lib/docker
/docker
под ней в подпапке /docker/nginx
– конфиги nginx, которые биндятся в контейнер по одному, или всей подпапкой. Удобно, если захочется по-живому редактить конфиги;Dockerfile
, копируются файлы из папки;docker logs --tail 50 имя_контейнера
*.conf
и положить его в /etc/nginx/conf.d/
в контейнере. FROM nginx-proxy/nginx-proxy
RUN { \
echo 'server_tokens off;'; \
echo 'client_max_body_size 500m;'; \
} > /etc/nginx/conf.d/my_proxy.conf
RUN mkdir /srv/app && chown 1000:1000 -R /srv/app
docker-compose.yml
:services:
strapi:
build:
context: .
dockerfile: Dockerfile-edited
docker run -it --rm --name QnA \
-v /home/User/site1:/var/www/site1 \
-v /home/User/site2:/var/www/site2 \
-v /home/User/site3:/var/www/site3 \
nginx
docker commit QnA savedImage # сохранит образ
docker run --name QnA_v2 \
-v /home/User/site4:/var/www/site4 \
savedImage
# убедиться, что всё норм. Остановить старый, пользоваться новым.
docker run -d -p 8080:80 nginx
http://localhost:8080