Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically update hosts file and ability to use not only localhost host name #4

Open
dstorozhuk opened this issue Feb 27, 2017 · 1 comment
Assignees
Milestone

Comments

@dstorozhuk
Copy link
Collaborator

While docker build docker must update host machine hosts file and add host from .env file.
Any custom host names must be supported.

@dstorozhuk dstorozhuk added this to the Docker box milestone Feb 27, 2017
@dstorozhuk dstorozhuk self-assigned this Feb 27, 2017
@dstorozhuk
Copy link
Collaborator Author

https://habrahabr.ru/post/306504/

Для разработки любых php-проектов, в том числе и друпал я, например, создал образ andyceo/phpdevenv

Поднимаешь, стучишься по ssh — и у тебя готовая почти полноценная виртуалка. «Почти» потому, что вместо процесса init, который используется в Linux для старта ядра и управления всеми остальными процессами, здесь используется supervisord. Поэтому не работают команды
sudo service restart nginx
например, а вместо них надо использовать
supervisorctl restart nginx
. Остальное все как в свежеустановленной Ubuntu на виртуалке.

По поводу compose-файла. Для управления контейнерами я использую Ansible вместо compose, потому что compose не может создать нужные папки, файлы с нужными правами (в которых лежат кастомные настройки для Nginx, например) ДО старта контейнеров. Поэтому у меня есть Ansible-роль configurator, которая управляет папками и файлами, и после нее выполняется роль docker, которая поднимает контейнеры. Эта роль в плане управления контейнерами почти как compose, с той разницей, что может еще и установить докер, и compose, и создать пользовательскую docker-сетку (надеюсь, вы уже не линкуете контейнеры через link, а используете встроенный в докер dns?)

И да, я бы тоже не назвал свою работу «open-source инициативой» :)
andyceo 27 июля 2016 в 13:06 0
PS: Забыл дописать. В моей роли docker есть примеры с преднастроенными контейнерами. Вот пример для Nginx:

 #Nginx
 #@see https://hub.docker.com/_/nginx/
 #You should copy config files before create container!
 #You should place virtual host configs in nginx/conf.d directory
 - name: nginx
 enabled: yes
 image: nginx
 tag: 1.10.1
 state: started
 hostname: nginx
 detach: True
 restart_policy: always
 net: docknet
 ports:
 - 80:80
 - 443:443
 volumes:
 - /data/ssl:/ssl:ro
 - /data/nginx/htpasswds:/etc/nginx/htpasswds:ro
 - /data/nginx/conf.d:/etc/nginx/conf.d:ro
 - /data/nginx/fastcgi_params:/etc/nginx/fastcgi_params:ro
 - /data/nginx/proxy_headers:/etc/nginx/proxy_headers:ro
 - /data/nginx/proxy_params:/etc/nginx/proxy_params:ro
 - /data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
 - /data/nginx/default-content:/usr/share/nginx/html:ro
 - /data/nginx/cache:/var/cache/nginx:rw
 - /data/nginx/logs:/var/log/nginx:rw

Как видно, синтаксис почти совместим с compose, и можно с минимальными правками поднимать контейнеры compose'ом вместо Ansible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant