使用Docker Desktop安装MYSQL和SQLServer数据库

简要介绍Docker Desktop以及如何使用它来安装和管理MYSQL和SQLServer数据库。

Docker Desktop安装MYSQL数据库

搜索并拉取MYSQL镜像

docker search mysql
docker pull mysql

运行MYSQL容器

docker run --restart=always --privileged=true -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_ROOT_HOST=% -d mysql
--restart=always 设置docker启动时自动运行容器
--privileged=true 获取root权限
-p 3306:3306 将容器内部3306端口映射到外部宿主机3306端口
--name mysql 给容器起名称为mysql
-e MYSQL_ROOT_PASSWORD=123456 设置mysql root账户密码为123456
-e MYSQL_ROOT_HOST=%  远程访问
-d mysql 后台运行mysql镜像文件

进入容器内部

docker exec -it mysql /bin/bash

启动或重启MYSQL服务

启动命令:docker start mysql
重启命令:docker restart mysql

Docker Desktop安装SQLServer数据库

拉取SQLServer镜像

docker pull mcr.microsoft.com/mssql/server:2022-latest

配置并运行SQLServer容器

docker run -d -p 1433:1433 --restart always --name sql_server_2022 --hostname sql_server_2022 -e "MSSQL_SA_PASSWORD=Sa@12345" -v D:\ProgramDatas\Docker\Containers\sql_server_2022\data:/var/opt/mssql/data -v D:\ProgramDatas\Docker\Containers\sql_server_2022\log:/var/opt/mssql/log -v D:\ProgramDatas\Docker\Containers\sql_server_2022\secrets:/var/opt/mssql/secrets -e "ACCEPT_EULA=Y" mcr.microsoft.com/mssql/server:2022-latest
> -d:表示以"detached"模式运行容器,即容器在后台运行,不会阻塞当前的终端。
> -p 1433:1433:将容器内部的1433端口映射到宿主机的1433端口。SQL Server默认监听1433端口,这样设置允许外部访问容器中的SQL Server实例。
> --restart always:设置容器的重启策略。如果容器退出,Docker将尝试无限次地重启容器。
> --name sql_server_2022:给容器指定一个名称,这里是sql_server_2022,便于后续操作和管理。
> --hostname sql_server_2022:设置容器内部的主机名,这里设置为sql_server_2022。
> -e "MSSQL_SA_PASSWORD=Sa@12345":设置环境变量MSSQL_SA_PASSWORD,SQL Server的系统管理员(SA)账户的密码。
> -v D:\ProgramDatas\Docker\Containers\sql_server_2022\data:/var/opt/mssql/data:使用卷(volume)将宿主机的D:\ProgramDatas\Docker\Containers\sql_server_2022\data目录挂载到容器内的/var/opt/mssql/data目录。存储数据库文件的地方。
> -v D:\ProgramDatas\Docker\Containers\sql_server_2022\log:/var/opt/mssql/log:将宿主机的日志目录挂载到容器内的日志目录,用于存储SQL Server的日志文件。
> -v D:\ProgramDatas\Docker\Containers\sql_server_2022\secrets:/var/opt/mssql/secrets:挂载宿主机的secrets目录到容器内的secrets目录,用于存储SQL Server的敏感信息。
> -e "ACCEPT_EULA=Y":设置环境变量ACCEPT_EULA为Y,表示接受SQL Server的最终用户许可协议(EULA)。这是启动SQL Server容器的必要条件。
> mcr.microsoft.com/mssql/server:2022-latest:指定要运行的SQL Server镜像的名称和标签

如果报错端口问题,则管理员cmd输入

net stop winnat
net start winnat
### 设置运行 MySQL 容器 #### 下载并安装 Docker Desktop 为了在计算机上使用 Docker 来部署 MySQL,先要确保已经安装Docker Desktop。可以通过访问[Docker官方网站](https://www.docker.com/)下载适用于操作系统版本的应用程序[^1]。 #### 启动 Docker Desktop 验证其工作状态 一旦完成安装过程,启动应用程序,并确认右下角的任务栏里出现了鲸鱼图标,这表明 Docker 已经准备好接受指令。 #### 获取 MySQL 镜像 打开命令提示符或终端窗口,在其中输入 `docker pull mysql:8` 命令来获取最新发布的 MySQL 8 版本镜像文件。 #### 创建并启动 MySQL 容器实例 通过执行如下所示的命令可以创建一个新的 MySQL 数据库服务: ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag ``` 这里 `-e MYSQL_ROOT_PASSWORD=my-secret-pw` 是用来设定 root 用户密码;而 `some-mysql` 则是你给这个新容器起的名字;最后面部分则是指定了所使用的具体 MySQL 版本标签(tag),如果省略则默认采用最新的稳定版[^3]。 #### 使用持久化存储机制保护数据库中的数据 为了避免因停止或移除容器而导致的数据丢失问题,建议利用 Docker 的卷功能实现外部挂载路径映射到容器内部的方式保存重要资料。例如: ```bash docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag ``` 上述命令中 `/my/own/datadir` 表示宿主机上的绝对路径位置,该处将会被绑定至容器内的 `/var/lib/mysql` 文件夹作为实际存放表空间的地方[^4]。 #### 访问正在运行的 MySQL 实例 当一切准备就绪之后,就可以借助以下方法连接到已有的 MySQL Server 上进行后续操作了: ```bash docker exec -it some-mysql bash mysql -uroot -p ``` 这两条语句分别用于进入指定名称 (即上面提到过的 "some-mysql") 的交互模式以及登录到对应的 SQL Shell 环境当中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值