рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рддреИрдирд╛рддреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред gitlab.com рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдПрдХ рдЫреЛрдЯреА рддреИрдирд╛рддреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдХрд░ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдЯреАрдПрд▓, рдбреЙ
- VPS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ: рд░реВрдЯ, рдкрд╛рд╕рд╡рд░реНрдб рд▓реЙрдЧрд┐рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ, рдбреЙрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, ufw рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдПрдБ / docker config рд╕реЗред
- Docker.json рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрде рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ
- рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде CI / CD рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ gitlab рдЪрд░ рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП .ITlab-ci.yml рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВред
рдореИрдВ рдбреЗрдмрд┐рдпрди рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдкрд░ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ VPS рд╕реЗрдЯрдЕрдк
рдЗрд╕рд▓рд┐рдП рдЖрдкрдиреЗ
DO рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЦрд░реАрджрд╛ рд╣реИ, рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЖрдХреНрд░рд╛рдордХ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВред рдореИрдВ рдХреБрдЫ рднреА рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдмрд╕ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓реЙрдЧ / рд╕рдВрд╕реНрдХрд░рдг / рд▓реЙрдЧ / рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдКрдВрдЧрд╛:
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, ufw рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
apt-get update && apt-get install ufw
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреАрддрд┐ рдЪрд╛рд▓реВ рдХрд░реЗрдВ: рд╕рднреА рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ, рд╕рднреА рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВ:
ufw default deny incoming ufw default allow outgoing
рдорд╣рддреНрд╡рдкреВрд░реНрдг: ssh рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рди рднреВрд▓реЗрдВ:
ufw allow OpenSSH
рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ: рдкреЛрд░реНрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ: ufw 12345 рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ, рдЬрд╣рд╛рдВ 12345 рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдпрд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо рд╣реИред рдЗрдирдХрд╛рд░: ufw 12345 рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЪрд╛рд▓реВ рдХрд░реЗрдВ:
ufw enable
рд╣рдо рд╕рддреНрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдФрд░ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ, рдЙрд╕реЗ рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ sudo рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
apt-get install sudo adduser scoty usermod -aG sudo scoty
рдЕрдЧрд▓рд╛, рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрдиреА ssh рдХреБрдВрдЬреА рдХреЙрдкреА рдХрд░реЗрдВ:
ssh-copy-id root@10.101.10.28
рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЕрдм рдЖрдкрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд▓рд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓реЗрдВ:
sudo nano /etc/ssh/sshd_config
рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ:
PasswordAuthentication no
Sshd рдбреЗрдореЙрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
sudo systemctl reload sshd
рдЕрдм, рдпрджрд┐ рдЖрдк рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЕрдЧрд▓рд╛, рд╕реЗрдЯ рдбреЙрдХрд░реНрдб, рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдбреЙрдХрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдЬрд╛рдПрдВ :
https://docs.docker.com/install/linux/bocker- рд╕реАрдИ / рдбреЗрдмрд┐рдпрди /рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЬрдирд░реЗрд╢рди
рдбреЙрдХрдЯрд░ рдбреЗрдореЙрди рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЯреАрдПрд▓рдПрд╕ рдХрдиреЗрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ рдПрдХ рдХреБрдВрдЬреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдЬрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреА рджреВрд░рд╕реНрде рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ docker рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЗрдВ, рдЕрд░реНрдерд╛рддреН ca.pem, server.pem, key.pem рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ / etc / docker рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбреЙрдХрдбрд░ рд╕реЗрдЯрдЕрдк
Docker daemon рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, -H df: // рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╣реЛрд╕реНрдЯ doem рдбреЗрдорди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
# At /lib/systemd/system/docker.service [Service] Type=notify ExecStart=/usr/bin/dockerd
рдЕрдЧрд▓рд╛, рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ, рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ:
/etc/docker/daemon.json { "hosts": [ "unix:///var/run/docker.sock", "tcp://0.0.0.0:2376" ], "labels": [ "is-our-remote-engine=true" ], "tls": true, "tlscacert": "/etc/docker/ca.pem", "tlscert": "/etc/docker/server.pem", "tlskey": "/etc/docker/key.pem", "tlsverify": true }
рдкреЛрд░реНрдЯ 2376 рдкрд░ рдХрдиреЗрдХреНрд╢рди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
sudo ufw allow 2376
рдирдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдбреЙрдХрдЯрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ:
sudo systemctl daemon-reload && sudo systemctl restart docker
рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
sudo systemctl status docker
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╣рд░рд╛ рд╣реИ, рддреЛ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред
рдЧрд┐рдЯреНрдЯреИрдм рдкрд░ рдирд┐рд░рдВрддрд░ рдбрд┐рд▓реЗрд╡рд░реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдбрд┐рдЯреЙрд▓ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдкрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЧреАрддрд╛рд▓рд╛рдм рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХрд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдбреЙрдХрдбрд░ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреАред рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреЗрд╡рд▓ gitlbab рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЪрд░ рдореЗрдВ рд▓рд┐рдЦрдХрд░ рд╣рд▓ рдХрд┐рдпрд╛:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧ рдмрд╕ рдмрд┐рд▓реНрд▓реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:
cat ca.pem
ред рдЪрд░реЛрдВ рдХреЗ рдорд╛рди рдХреЛ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
рдЖрдЗрдП gitlab рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВред Docker-in-docker (dind) рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
.gitlab-ci.yml image: name: docker/compose:1.23.2 # entrypoint , dind entrypoint: ["/bin/sh", "-c"] variables: DOCKER_HOST: tcp://docker:2375/ DOCKER_DRIVER: overlay2 services: - docker:dind stages: - deploy deploy: stage: deploy script: - bin/deploy.sh #
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА:
рдмрд┐рди / рддреИрдирд╛рддреАред рд╢ #!/usr/bin/env sh # , - set -e # , , set -v # DOCKER_COMPOSE_FILE=docker-compose.yml # DEPLOY_HOST=185.241.52.28 # , - gitlab- DOCKER_CERT_PATH=/root/.docker # , docker info docker-compose version # ( - gitlab') mkdir $DOCKER_CERT_PATH # , . echo "$CA_PEM" | tr -d '\r' > $DOCKER_CERT_PATH/ca.pem echo "$CERT_PEM" | tr -d '\r' > $DOCKER_CERT_PATH/cert.pem echo "$KEY_PEM" | tr -d '\r' > $DOCKER_CERT_PATH/key.pem # chmod 400 $DOCKER_CERT_PATH/ca.pem chmod 400 $DOCKER_CERT_PATH/cert.pem chmod 400 $DOCKER_CERT_PATH/key.pem # docker-. , export DOCKER_TLS_VERIFY=1 export DOCKER_HOST=tcp://$DEPLOY_HOST:2376 # , docker-compose \ -f $DOCKER_COMPOSE_FILE \ ps # docker-, "" docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker-compose \ -f $DOCKER_COMPOSE_FILE \ pull app # docker-compose \ -f $DOCKER_COMPOSE_FILE \ up -d app
рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдЧреАрддрд╛рд▓рд╛рдм рд╕реАрдЖрдИ / рд╕реАрдбреА рдЪрд░ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ "рдирд┐рдХрд╛рд▓рдиреЗ" рдХреА рдереАред рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд░рд┐рдореЛрдЯ рд╣реЛрд╕реНрдЯ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ред рд╣реЛрд╕реНрдЯ рдкрд░, рдореИрдВрдиреЗ sudo journalctl -u docker log рдХреЛ рджреЗрдЦрд╛, рдЗрд╕рдореЗрдВ рдПрдХ рд╣реИрдВрдбрд╢реЗрдХ рддреНрд░реБрдЯрд┐ рд╣реИред рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рдЪрд░ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдмрд┐рд▓реНрд▓реА рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ- $ DOCKER_CERT_PATH / key.pemред рдЧрд╛рдбрд╝реА рдХреЗ рдЪрд┐рдиреНрд╣ tr -d '\ r' рдХреЛ рд╣рдЯрд╛рдХрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖрдЧреЗ, рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХрд╛рдзрд┐рдХрд╛рд░ рдкрд░ рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рдХреЗ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдореЗрд░реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА
https://gitlab.com/isqad/gitlab-ci-cd рдореЗрдВ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ