Ich habe einen Artikel mit dem Titel [[Effiziente Web-Systementwicklung mit Containern und Git]] veröffentlicht (https://qiita.com/smiler5617/items/f34382145ec426820710), aber danach habe ich auch versucht, "Docker-Compose" zu verwenden Ich habe es versucht, also werde ich den Inhalt zu diesem Zeitpunkt als Memo aufschreiben.
[Docker-Installationsumgebung] ・ Ubuntu 20.04 LTS (auf GCP) ・ Docker 19.03.13 ・ Docker-Compose 1.25.0
[Containerumgebung] ・ Image Ubuntu: 20.04 -Apache 2.4.41 * Die neueste Version zum Zeitpunkt der Installation, da die Version nicht angegeben ist
Führen Sie die folgenden Schritte aus, um zu versuchen, einen Webdienst mit "Docker-Compose" zu starten / zu stoppen.
** Erstellen Sie eine VM-Instanz auf GCP **
** Update des Paketverwaltungstools **
$ sudo apt update
** Git installieren **
python
$ sudo apt install -y git
** Docker installieren **
** Docker-Compose installieren **
python
$ sudo apt install -y docker-compose
Überprüfen Sie, ob die Installation erfolgreich ist
python
$ ddocker-compose --version
docker-compose version 1.25.0, build unknown
Gehen Sie bei Github wie folgt vor:
** ■ Erstellen Sie ein Repository für Public **
** ■ Erstellen Sie einen "App" -Ordner direkt unter dem erstellten Repository **
** ■ Erstellen Sie index.html im Ordner "App" **
** ■ Schneiden Sie den Entwicklungszweig ab **
** Bereiten Sie Dateien mit der folgenden Verzeichnisstruktur vor **
./docker-compose.yml
./Dockerfile
./site_config/
- demo_site.conf
./mount/
- main/
- dev/
Verzeichnis erstellen
#################################################
#Verzeichnis zum Speichern von Site-Konfigurations-Einstellungsdateien#
#################################################
$ sudo mkdir ./site_config
################################
#Erstellen Sie ein Verzeichnis zum Mounten#
################################
$ sudo mkdir ./mount
#Speicherort des Quellcodes
$ sudo mkdir ./mount/main
$ sudo mkdir ./mount/dev
Klonen Sie die Quelle auf Github
$ sudo git clone --depth 1 -b main https://github.com/Smiler5617/test_websys.git ./mount/main
$ sudo git clone --depth 1 -b dev https://github.com/Smiler5617/test_websys.git ./mount/dev
** Erstellen Sie jede Datei wie folgt **
demo_site.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/App/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Dockerfile
#Holen Sie sich das Basis-Image
FROM ubuntu:20.04
#Installation der erforderlichen Pakete
RUN apt update
RUN apt install -y tzdata
RUN apt install -y apache2
#Laden Sie die Site-Einstellungen
COPY ./site_config/demo_site.conf /etc/apache2/sites-available/
RUN a2dissite 000-default
RUN a2ensite demo_site
#Erstellen Sie ein Verzeichnis zum Mounten
RUN mkdir /var/www/html/App
#Port öffnen
EXPOSE 80
CMD ["apachectl", "-D", "FOREGROUND"]
docker-compose.yml
version: '3.7'
services:
web_main:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./mount/main/App:/var/www/html/App
ports:
- 8080:80
web_dev:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./mount/dev/App:/var/www/html/App
ports:
- 8081:80
** Alle Dienste starten **
python
$ docker-compose up
Wenn Sie auf die folgende Umgebung zugreifen können, können Sie sie vorerst starten.
http: // [externe IP der VM (globale IP-Adresse)]: 8080 / http: // [externe VM-IP (globale IP-Adresse)]: 8081 /
** Start stop **
Ctrl + C
** Im Hintergrund laufen **
python
$ docker-compose start
Starting web_main ... done
Starting web_dev ... done
$ Docker-compose up -d
ist in Ordnung, aber wenn Sie das Protokoll überprüfen möchten, ist start
gut.Halt
python
$ docker-compose stop
Beenden des [Google-Kontonamens]_web_dev_1 ...
Beenden des [Google-Kontonamens]_web_main_1 ...
** Sie können auch angeben, ob der Dienst gestartet oder gestoppt werden soll **
python
$ docker-compose start web_main
Starting web_main ... done
$ docker-compose stop web_main
Beenden des [Google-Kontonamens]_web_main_1 ...
** Stop & Remove Service **
python
$ docker-compose down
Recommended Posts