Dies ist ein Artikel, der Docker-Compose in eine EC2-Instanz einfügt und einen Container für einen Webserver und einen DB-Server erstellt. [Es ist fast ein Pakuri dieses Artikels. ](Https://qiita.com/yumatsud/items/33bc22f7d8f640a286f4#web%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A8db%E3%82%B5%E3% 83% BC% E3% 83% 90% E3% 81% AE% E3% 82% B3% E3% 83% B3% E3% 83% 86% E3% 83% 8A% E4% BD% 9C% E6% 88% 90)
① Klicken Sie auf "Instanz erstellen".
② Wählen Sie Amazon Linux 2 kostenlos aus
③ Wählen Sie "t2.micro (vorbehaltlich der kostenlosen Nutzungsstufe)".
④ Klicken Sie auf "Bestätigen und erstellen".
⑤ Schlüssel speichern Wenn Sie es hier nicht speichern, können Sie es nicht mehr sehen. Laden Sie es daher unbedingt herunter.
⑥ Zur Sicherheitsgruppe hinzufügen Typ: HTTP (80) Quelle: 0.0.0.0/0
(local)$ ssh -i key_portfolio_AWS.pem [email protected]
Ändern Sie key_portfolio_AWS.pem und 18.181.96.192 entsprechend Ihrer Situation.
(ec2-user|~)$ sudo yum update
(ec2-user|~)$ sudo yum install -y docker
(ec2-user|~)$ sudo service docker start
Redirecting to /bin/systemctl start docker.service
(ec2-user|~)$ sudo usermod -a -G docker ec2-user
(ec2-user|~)$ cat /etc/group |grep docker
docker:x:993:ec2-user
Melden Sie sich ab und wieder bei EC2 an.
(ec2-user|~)$ exit #Ausloggen
(local)$ ssh -i key_portfolio_AWS.pem [email protected] #Nochmal anmelden
(ec2-user|~)$ docker info
Client:
Debug Mode: false
Server:
Containers: 0
Running: 0
・ ・ ・
(ec2-user|~)$ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
(ec2-user|~)$ sudo chmod +x /usr/local/bin/docker-compose
(ec2-user|~)$ docker-compose --version
docker-compose version 1.16.1, build 6d1ac21
(ec2-user|~)$ vi Dockerfile
FROM busybox
#Informationen zum Ersteller
MAINTAINER 0.1 [email protected]
#Dateneinstellungen
VOLUME /var/lib/mysql
(ec2-user|~)$ docker build -t data-only .
Sending build context to Docker daemon 9.216kB
Step 1/3 : FROM busybox
latest: Pulling from library/busybox
61c5ed1cbdf8: Pull complete
Digest: sha256:4f47c01fa91355af2865ac10fef5bf6ec9c7f42ad2321377c21e844427972977
Status: Downloaded newer image for busybox:latest
---> 018c9d7b792b
Step 2/3 : MAINTAINER 0.1 [email protected]
---> Running in 3b3dcfb4036b
Removing intermediate container 3b3dcfb4036b
---> 314a9cc31b09
Step 3/3 : VOLUME /var/lib/mysql
---> Running in 24ff3d39dd8a
Removing intermediate container 24ff3d39dd8a
---> 16e1b09a9faf
Successfully built 16e1b09a9faf
Successfully tagged data-only:latest
(ec2-user|~)$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
data-only latest 16e1b09a9faf 7 seconds ago 1.22MB
busybox latest 018c9d7b792b 4 weeks ago 1.22MB
(ec2-user|~)$ docker run -it --name data-only data-only
/ # ls
bin dev etc home proc root sys tmp usr var
/ # exit
(ec2-user|~)$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
475afb3d38f8 data-only "sh" 15 seconds ago Exited (0) 6 seconds ago data-only
(ec2-user|~)$ vi docker-compose.yml
docker-compose.ym
web-server:
image: wordpress
ports:
- "80:80"
#Angeben eines Container-Links
links:
- "db-server:mysql"
db-server:
image: mysql
#Geben Sie das Ziel für die Datenspeicherung an
volumes_from:
- data-only
#Umgebungsvariablen angeben
environment:
MYSQL_ROOT_PASSWORD: password
(ec2-user|~)$ docker-compose up -d
(ec2-user|~)$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------
ec2user_db-server_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
ec2user_web-server_1 docker-entrypoint.sh apach ... Up 0.0.0.0:80->80/tcp
WordPress läuft bis zu diesem Punkt.
Dann
Oh! Wenn es so angezeigt wird, ist es erfolgreich.
Bei der Montage wird "der Computer die an den Computer angeschlossenen Geräte und Medien erkennen und einsatzbereit machen".
(ec2-user|~)$ docker start -ia data-only
/ # ls /var/lib/mysql
#ib_16384_0.dblwr auto.cnf binlog.index client-cert.pem ib_logfile0 ibtmp1 performance_schema server-cert.pem undo_001
#ib_16384_1.dblwr binlog.000001 ca-key.pem client-key.pem ib_logfile1 mysql private_key.pem server-key.pem undo_002
#innodb_temp binlog.000002 ca.pem ib_buffer_pool ibdata1 mysql.ibd public_key.pem sys wordpress
/ # exit
(ec2-user|~)$ docker-compose run web-server /bin/bash
root@40e7f18520cb:/var/www/html#
--Sichern und Wiederherstellen eines dedizierten Datencontainers
#Backup
$ docker export data-only > backup.tar
#wiederherstellen
$ tar xvf backup.tar
Diesmal war es WordPress. Als nächstes probieren wir die Rails-App aus.
Recommended Posts