рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдмрджрд▓рд╛, рдФрд░ рдореБрдЭреЗ рд╕рдм рдХреБрдЫ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдореИрдВ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЛ https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ letencrypt рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрд╡рддрдГ рдкреНрд░рд╛рдкреНрдд рдФрд░ рдирд╡реАрдиреАрдХреГрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рджреЛ рдбреЙрдХ рдЪрд┐рддреНрд░, рдиреЗрдЧрдиреЗрдХреНрд╕-рдкреНрд░реЙрдХреНрд╕реА рдФрд░ рдиреЗрдЧреНрдиреЗрдХреНрд╕-рдкреНрд░реЙрдХреНрд╕реА-рд╕рд╛рдереА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдбреЙрдХрдЯрд░ рдкрд░ рдПрдХ рд╕рд╛рдЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рдЗрдб рд╣реИ, рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред CentOS 7 рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдЦрд░реАрдж рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЙрд╕ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд╕рдлрд▓ 2рдмрд╛рди рд╕реНрдерд╛рдкрд┐рдд, рдЖрджрд┐ред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдбреЙрдХрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- рдлрд┐рд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
$ sudo yum install docker-ce docker-ce-cli containerd.io
- рдбреЛрд▓рд░ рдХреЛ рдСрдЯреЛрд▓реЙрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ
$ sudo systemctl enable docker $ sudo systemctl start docker
- рд╕реБрдбреЛ рдХреЗ рдмрд┐рдирд╛ рдбреЙрдХ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдбреЙрдХрдЯрд░ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
$ usermod -aG docker user
рдЕрдЧрд▓рд╛ рдХрджрдо рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдЗрдк рдкреНрд░рдмрдВрдзрдХ рдФрд░ рд╡рд░реНрдЪреБрдЕрдирд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд░реЛрдХрдирд╛ рди рд╣реЛред
- рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
$ sudo yum install python-pip
- Virtualenv рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
$ pip install virtualenv
- рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ ve рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
$ mkdir docker $ cd docker $ virtualenv ve
- рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
$ source ve/bin/activate
- рдЖрдк рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
pip install docker-compose
рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдмреНрд░рд┐рдЬ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
$ docker network create network
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░реЙрдХреНрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реЛрдЧрд╛, рдкрд░реАрдХреНрд╖рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдбреЛрдореЗрди рдирд╛рдо example.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
$ mkdir proxy $ mkdir test $ touch proxy/docker-compose.yml $ touch test/docker-compose.yml
рд╕рд╛рдордЧреНрд░реА рдкреНрд░реЙрдХреНрд╕реА / docker-compose.yml
version: '3' networks: default: external: name: network services: nginx-proxy: container_name: nginx-proxy image: jwilder/nginx-proxy ports: - 80:80 - 443:443 volumes: - certs:/etc/nginx/certs - vhost.d:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro nginx-proxy-letsencrypt: container_name: nginx-proxy-letsencrypt image: jrcs/letsencrypt-nginx-proxy-companion volumes: - certs:/etc/nginx/certs - vhost.d:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=nginx-proxy volumes: certs: vhost.d: html:
рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ NGINX_PROXY_CONTAINER рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХрдВрдЯреЗрдирд░ рджрд┐рдЦрд╛рдИ рджреЗред / Etc / nginx / certs /etc/nginx/vhost.d рдФрд░ / usr / share / nginx / html рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред Letencrypt рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ 80 рдФрд░ 443 рджреЛрдиреЛрдВ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд░реАрдХреНрд╖рдг / docker-compose.yml рдХреА рд╕рд╛рдордЧреНрд░реА
version: '3' networks: default: external: name: network services: nginx: container_name: nginx image: nginx:latest environment: - VIRTUAL_HOST=example.com - LETSENCRYPT_HOST=example.com - LETSENCRYPT_EMAIL=admin@example.com
рдпрд╣рд╛рдВ, рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рд╣реА рдбреЛрдореЗрди рдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдХреЗрд╡рд▓ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ
$ cd proxy $ docker-compose up -d $ cd ../test $ docker-compose up -d