Dockr部署MySQL 5.7

发布于 2023-12-09  19 次阅读


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
希望赤诚善良的人,能被世界温柔以待
最后更新于 2024-05-19