Puisque nous avons construit l'environnement à l'aide de docker, nous allons introduire la procédure. Depuis que j'ai construit l'environnement avec docker pour la première fois, j'espère que cela sera utile autant que possible.
environnement | version |
---|---|
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
Créez une image et démarrez le conteneur avant d'entrer dans le conteneur. Sur la ligne de commande, procédez comme suit:
docker build // Vous pouvez obtenir l'image du fichier docker en construisant.
$ docker-compose up -d // Démarre le conteneur.
Vous pouvez créer et démarrer le conteneur en même temps avec la commande suivante.
$ docker-compose up -d --build // Démarre le conteneur en construisant l'image.
$ docker ps //起動中のコンテナの確認
$ docker-compose up // Vous ne pouvez pas travailler dans le même terminal car vous démarrez le conteneur dans le terminal.$ docker-compose up -d // Puisque le conteneur est démarré en arrière-plan, vous pouvez travailler dans le même terminal.
Entrez dans le conteneur avec la commande suivante.
$ docker exec -it CONTAINER ID /bin/bash // L'ID DU CONTAINER peut être confirmé lorsque docker ps est terminé.
service httpd start Démarrez Apache service httpd stop Apache s'est arrêté service httpd restart Redémarrage Apache /etc/init.d/httpd status Vérification de l'état d'Apache
J'ai pu exécuter ce qui suit. À propos, l'installation du compositeur a été effectuée dans le dossier du projet.
compser install
Si vous accédez dans cet état, une erreur de base de données sera affichée dans le navigateur. Le contenu de l'erreur est qu'aucun fichier de ce type (connecté) ne peut être trouvé.
database error(SQLSTATE[HY000] [2002] No such file or directory
service mysqld status //mysqlの起動状態の確認 service mysqld start //mysqlの起動
Confirmez votre nom d'utilisateur et votre mot de passe initiaux avant de vous connecter. Vérifiez mysqld.log dans le conteneur DB.
cat mysqld.log
Obtenez le mot de passe du nom d'utilisateur écrit Un mot de passe temporaire est ~. Nom d'utilisateur: root
Connectez-vous à la base de données.
docker exec -it ID du conteneur mysql -u root -p
Réinitialiser le mot de passe-> Créer une base de données-> Créer une table.
-/ |- project |- config |-app.phpComment écrire app.php peut être trouvé en recherchant sur le net. Cette fois, j'ai copié le fichier utilisé ailleurs et modifié le contenu. Je ne touche principalement que la base de données.
'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', 'password' => 'mot de passe défini lors de la création de la base de données', 'database' => 'Mot de passe défini lors de la création de la base de données', 'port' => numéro de port, 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false,
cat mysqld.log Obtenez le mot de passe écrit Un mot de passe temporaire est -> Redémarrez mysql dans le conteneur db, connectez-vous> réinitialisez le mot de passe-> créez une base de données-> créez une table->
J'ai recherché localhost dans mon navigateur et il s'est ouvert avec succès.
Comprenons le contenu de docker-compose.yml https://futureys.tokyo/lets-understand-contents-of-docker-compose-yml/
Docker compose Kotobuki Hands-on https://qiita.com/TsutomuNakamura/items/7e90e5efb36601c5bc8a
Comment écrire et utiliser Dockerfile https://blog.codecamp.jp/docker-file-how-to
Entrez le shell du conteneur Docker en cours d'exécution https://qiita.com/sekizo/items/27cc9b406332afc674f6
Création de base de données https://noumenon-th.net/programming/2019/04/01/docker-entrypoint-initdb01/
Comment écrire des autorisations à définir avec chmod https://qiita.com/irasally/items/6ebc3c68e22905fb7330