https://qiita.com/ucan-lab/items/5fc1281cd8076c8ac9f4
Quand j'ai cloné ce référentiel de Dieu et essayé de l'utiliser Puisque TimeZone était UTC, ce sera un mémorandum quand il a été corrigé à l'heure du Japon.
Modifiez le Dockerfile dans la configuration ci-dessous. Lors de la mise en œuvre pour ceux qui ont lancé un conteneur Corrigez le Dockerfile lorsque le conteneur est arrêté et reconstruisez-le.
├── backend #Répertoire racine du projet Laravel
├── infra
│ └── docker
│ ├── mysql
│ │ ├── Dockerfile
│ │ └── my.cnf
│ ├── nginx
│ │ ├── Dockerfile
│ │ └── default.conf
│ └── php
│ ├── Dockerfile
│ ├── php-fpm.d
│ │ └── zzz-www.conf =>fichier de configuration de socket de domaine unix
│ └── php.ini
├── Makefile
└── docker-compose.yml
mysql
docker-laravel\infra\docker\mysql\Dockerfile
#Changer ENV TZ (près de la 4ème ligne)
# ENV TZ=UTC \
ENV TZ=Asia/Tokyo \
Ce sera le travail une fois la construction et le démarrage (up) du conteneur terminés.
shell
$ make db
# $ docker-compose exec db bash (Contenu de la commande make ci-dessus)
root@XXXXXXX:# mysql -u root -p -h 127.0.0.1
Enter password: secret
#Veuillez entrer le PW près de la 8ème ligne décrite dans le Dockerfile.
# MYSQL_ROOT_PASSWORD=secret
#  ̄ ̄ ̄ ̄
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | JST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.01 sec)
Si JST est affiché dans system_time_zone, il n'y a pas de problème.
nginx
docker-laravel\infra\docker\nginx\Dockerfile
#Changer ENV TZ (près de la 6ème ligne)
# ENV TZ=UTC
ENV TZ=Asia/Tokyo
Ce sera le travail une fois la construction et le démarrage (up) du conteneur terminés.
shell
$ make web
# $ docker-compose exec web ash (Contenu de la commande make ci-dessus)
/work/backend# date
Si l'heure actuelle est affichée, il n'y a pas de problème.
php
docker-laravel\infra\docker\php\Dockerfile
#Changer l'environnement du fuseau horaire (près de la 5ème ligne)
# ENV TZ=UTC \
# locale
# LANG=en_US.UTF-8 \
# LANGUAGE=en_US:en \
# LC_ALL=en_US.UTF-8 \
ENV TZ=Asia/Tokyo \
# locale
LANG=ja_JP.UTF-8 \
LANGUAGE=ja_JP:ja \
LC_ALL=ja_JP.UTF-8 \
docker-laravel\infra\docker\php\Dockerfile
#Modifier le paramètre local (près de la ligne 36)
# locale-gen en_US.UTF-8 && \
# localedef -f UTF-8 -i en_US en_US.UTF-8 && \
locale-gen ja_JP.UTF-8 && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
Ce sera le travail une fois la construction et le démarrage (up) du conteneur terminés.
shell
$ make app
# $ docker-compose exec app bash (Contenu de la commande make ci-dessus)
root@XXXXXXX:/work/backend# php -r 'echo date("Y/m/d H:i:s"),PHP_EOL;'
Si l'heure actuelle est affichée, il n'y a pas de problème.
Ceci termine la réponse. J'espère que cela aide quelqu'un.
Si vous avez des erreurs ou de meilleures méthodes de réparation, veuillez nous en informer dans les commentaires. Merci.
Recommended Posts