あなたは.yml
または.yaml
は次のように見ることができます:
version: '2'
volumes:
dbdata:
services:
mysql:
image: mysql:5.7
container_name: mysql
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=homestead
- MYSQL_USER=root
- MYSQL_PASSWORD=secret
ports:
- "33061:3306"
を
docker-compose up -d
でそれを起動して確認し
:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3567fb78d0d mysql:5.7 "docker-entrypoint..." 2 minutes ago Up 2 minutes 0.0.0.0:33061->3306/tcp mysql
docker exec -it a3567fb78d0d bash
[email protected]:/# mysql -u root -p homestead
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| homestead |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
あなたのボリュームがで永続化されますドッカーボリュームnameoffolder_dbdata
(/var/lib/docker/volumes/...
)
それは私が求めているものではありませんが、面白いです。 envinronment varsがデータベースを作成するのかどうか疑問に思う。なぜなら、docker-compose.ymlの図ではデータベース名はなぜですか? – Pedrog
私はあなたの回答/質問を完全に理解していませんが、はい、env varはhomesteadという名前のデータベースを作成しています。ショーデータベースを実行するときに私の答えをチェックしてください。あなたはホームステッドのDBを見て、私はそのdb(-p)を認証しています – lvthillo
私はすでにコンテナを持っています。私はコンテナのデータベースを作成したい。コンテナのドッカー作成ファイルを作成する方法を教えてください。 –