Da wir die Umgebung mit Docker erstellt haben, werden wir das Verfahren einführen. Da ich die Umgebung zum ersten Mal mit Docker erstellt habe, hoffe ich, dass sie so hilfreich wie möglich ist.
Umgebung | Ausführung |
---|---|
PHP | 7.0.27 |
FW | CakePHP3.2.13 |
Apache | 2.2.15 |
OS | CentOS6.9 |
DB | MySQL5.6.39 |
-/ |- docker-compose.yml |- docker |- db | |- Dockerfile | |- files | |- entry.sh | |- my.cnf | | |- web |- Dockerfile |- files |- composer.phar |- dev.conf |- php.ini |- ssl.conf
-/ |- project |- docker-compose.yml |- docker
Erstellen Sie ein Bild und starten Sie den Container, bevor Sie den Container betreten. Gehen Sie in der Befehlszeile wie folgt vor:
docker build // Sie können das Bild aus der Docker-Datei abrufen, indem Sie es erstellen.
$ docker-compose up -d // Den Container starten.
Mit dem folgenden Befehl können Sie den Container gleichzeitig erstellen und starten.
$ docker-compose up -d --build // Starten Sie den Container, indem Sie das Image erstellen.
$ docker ps //起動中のコンテナの確認
$ docker-compose up // Sie können nicht im selben Terminal arbeiten, da Sie den Container im Terminal starten.$ docker-compose up -d // Da der Container im Hintergrund gestartet wird, können Sie im selben Terminal arbeiten.
Geben Sie den Container mit dem folgenden Befehl ein.
$ docker exec -it CONTAINER ID /bin/bash // CONTAINER ID kann bestätigt werden, wenn Docker ps fertig ist.
service httpd start Starten Sie Apache service httpd stop Apache blieb stehen service httpd restart Apache Neustart /etc/init.d/httpd status Apache-Statusprüfung
Ich konnte Folgendes ausführen. Die Composer-Installation wurde übrigens im Projektordner durchgeführt.
compser install
Wenn Sie in diesem Status zugreifen, wird im Browser ein Datenbankfehler angezeigt. Der Inhalt des Fehlers besteht darin, dass keine solche (verbundene) Datei gefunden werden kann.
database error(SQLSTATE[HY000] [2002] No such file or directory
service mysqld status //mysqlの起動状態の確認 service mysqld start //mysqlの起動
Bestätigen Sie Ihren ursprünglichen Benutzernamen und Ihr Passwort, bevor Sie sich anmelden. Überprüfen Sie mysqld.log im DB-Container.
cat mysqld.log
Holen Sie sich das Benutzername Passwort geschrieben in Ein temporäres Passwort ist ~. Benutzername: root
Melden Sie sich bei der Datenbank an.
docker exec -it container ID mysql -u root -p
Passwort zurücksetzen-> Datenbank erstellen-> Tabelle erstellen.
-/ |- project |- config |-app.phpWie man app.php schreibt, kann durch Suchen im Internet gefunden werden. Dieses Mal habe ich die an anderer Stelle verwendete Datei kopiert und den Inhalt bearbeitet. Ich berühre hauptsächlich nur die Datenbank.
'Datasources' => [ 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'localhost', /** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'non_standard_port_number', 'username' => 'root', 'Passwort' => 'Passwort beim Erstellen der Datenbank festgelegt', 'Datenbank' => 'Passwort beim Erstellen der Datenbank festgelegt', 'port' => portnummer, 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false,
cat mysqld.log Holen Sie sich das Passwort geschrieben in Ein temporäres Passwort ist -> Starten Sie mysql im Datenbankcontainer neu, melden Sie sich an> Passwort zurücksetzen-> Datenbank erstellen-> Tabelle erstellen->
Ich habe in meinem Browser nach localhost gesucht und es wurde erfolgreich geöffnet.
Lassen Sie uns den Inhalt von docker-compose.yml verstehen https://futureys.tokyo/lets-understand-contents-of-docker-compose-yml/
Docker komponieren Kotobuki Hands-on https://qiita.com/TsutomuNakamura/items/7e90e5efb36601c5bc8a
Schreiben und Verwenden von Dockerfile https://blog.codecamp.jp/docker-file-how-to
Geben Sie die Shell des laufenden Docker-Containers ein https://qiita.com/sekizo/items/27cc9b406332afc674f6
Datenbankerstellung https://noumenon-th.net/programming/2019/04/01/docker-entrypoint-initdb01/
So schreiben Sie Berechtigungen zum Festlegen mit chmod https://qiita.com/irasally/items/6ebc3c68e22905fb7330