Tips:复制每行代码时三击鼠标即可选中
1.本文测试环境:
Debian 11
Docker 24
2.查看Docker网络名称并设置固定IP
一般默认为bridge。如果你有其他部署在docker的项目需要使用部署在docker内的MySQL,需要记录MySQL容器的IP,因为其他项目要是输入127.0.0.1访问的是自己的容器回环地址,并不是宿主机的回环地址。
若无此需求直接看第三节即可。
#执行以下命令
docker network ls

查看名为bridge的网桥信息
#执行以下命令
docker network inspect bridge
{
"Name": "bridge",
"Id": "d8acb49ce3d87e18450e52e35d77e73a39786e700b6e2e13b3c3fa894eb1a9b1",
"Created": "2023-12-09T15:56:28.614564858+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16", #docker给容器分配的 IP 地址范围。
"Gateway": "172.18.0.1" #网关
}
]
},
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"ee3681eb8c44a1fbfb95b1c7350f8c01312c3a71c69862e415648ae8e335e609": {
"Name": "embyserver",
"EndpointID": "e987cc28d6a22fbec3a6a1b041608590af25ea8a3e4d2e938a22842a96d03257",
"MacAddress": "02:00:ac:55:00:02",
"IPv4Address": "172.18.0.2/16", #名为embyserver的容器ip,这是我其他的容器
"IPv6Address": ""
}
}
}
可知网关为:172.18.0.1,即容器从172.18.0.2开始按顺序给容器分配IP
3.部署MySQL
参数说明:
--name mysql 容器名称
-v /docker/mysql:/var/lib/mysql ,冒号前为宿主机挂载点
-e MYSQL_ROOT_PASSWORD=123456 数据库root用户密码
#执行以下命令
docker run -d --restart always --name mysql --net bridge --ip 172.18.0.3 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker/mysql:/var/lib/mysql mysql:5.7
会自动拉取MySQL镜像并部署,docker容器ip为172.18.0.3。
也可以输入以下命令查看容器ip
#执行以下命令
docker inspect your_docker_name

4.进入MySQL容器
#执行以下命令 #进入MySQL容器
docker exec -it mysql bash
#进入sql命令行模式,输入密码
mysql -u root -p
Comments 2 条评论
@0713 happy