将todo应用放一个容器, 将mysql放一个容器, 然后链接起来使用

① 准备MySQL

创建一个网络

docker network create todo-app
image.png

生成MySQL容器

  • 并附加到创建好的网络
  • 然后初始化MySQL

image.png

  1. # linux
  2. docker run -d \
  3. --network todo-app --network-alias mysql \
  4. -v todo-mysql-data:/var/lib/mysql \
  5. -e MYSQL_ROOT_PASSWORD=secret \
  6. -e MYSQL_DATABASE=todos \
  7. mysql:5.7
  8. # power shell
  9. docker run -d `
  10. --network todo-app --network-alias mysql `
  11. -v todo-mysql-data:/var/lib/mysql `
  12. -e MYSQL_ROOT_PASSWORD=secret `
  13. -e MYSQL_DATABASE=todos `
  14. mysql:5.7
  15. # --network todo-app
  16. # --network-alias mysql 这个是将MySQL这个主机进行了别名(不理解具体作用先往后看)
  17. # -v todo-mysql-data:/var/lib/mysql 即使没有主动创建todo-mysql-data的卷, docker看到这条命令的时候也会主动创建的
  18. # -e MYSQL_ROOT_PASSWORD=secret
  19. # -e MYSQL_DATABASE=todos

运行MySQL并查看是否正确初始化

image.png

  1. docker exec -it <mysql-container-id> mysql -u root -p
  2. mysql> SHOW DATABASES;

②查看ip地址

③todo list和MySQL联用