前提・実現したいこと
DockerでPHPのローカル環境を構築したくて、
のサイトを参考(マルコピした)に構築し、その後mysqlサーバーに接続しようと
% mysql -u -psecret
など試しても、
zsh: command not found: mysql
となり、接続できません。上手くいけば、
Enter password: Welcome to the MySQL monitor. . . . mysql>
的な表示をさせたいのですが、
Dockerの知識もデータベースの知識も曖昧なのでこの問題の原因で何が起因しているか全然わかりません、、、。
該当のソースコード
docker-compose.yml version: '3' services: nginx: image: nginx:latest ports: - 8080:80 volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf - ./www/html:/var/www/html depends_on: - php php: build: ./php volumes: - ./www/html:/var/www/html depends_on: - db db: image: mysql:5.7 ports: - 13306:3306 volumes: - ./mysql/data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret phpmyadmin: image: phpmyadmin/phpmyadmin:latest ports: - 8888:80 depends_on: - db
試したこと
docker-compose up -d ```して、
docker ps
を打ったら
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9c6fd86418b7 nginx:latest "nginx -g 'daemon of…" 28 hours ago Up 41 minutes 0.0.0.0:8080->80/tcp php_nginx_1
68e6ddf2f212 php_php "docker-php-entrypoi…" 28 hours ago Up 41 minutes 9000/tcp php_php_1
da533de1296a phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 28 hours ago Up 41 minutes 0.0.0.0:8888->80/tcp php_phpmyadmin_1
c490beb3e3fa mysql:5.7 "docker-entrypoint.s…" 28 hours ago Up 41 minutes 33060/tcp, 0.0.0.0:133
となるのでコンテナは起動できていると思いますが、そもそも、
% mysql --version
command not found: mysql
インストールすらされていない? なんかもう意味わかりません、、。 お願いします助けてください、、。 #回答を参考にしてからの追記 記入し忘れました、開発環境はmacのcatalinaです。 その後、
% docker exec -it php_db_1 bash
と入力すると左のアレがroot@xxxxxxx#みたいな表示に切り替わり、(成功したか?) もう一度、
mysql -u -p
を入力すると、
root@c490beb3e3fa:/# mysql -u user -p
Enter password:
ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)
と新たなエラーが表示されました。
% docker exec -it php_db_1 bash
で状況が前進したのかどうなのか全然わかりません。 ### 解決しました docker-composeを立ち上げた状態で、
% docker exec -it php_db_1 bash
を入力すると、スーパーユーザーとしてmysqlのコンテナ内に入れます。 ```ここに言語を入力 # mysql -uroot -p Enter password:
で自分で設定したパスワードor rootを入力するとコンテナ内でmysqlモニタが使えます!
今回の問題は自分が新しいことをINPUTしすぎて混乱していたのが原因で、冷静に調べると解決することができました。
回答1件
あなたの回答
tips
プレビュー