docker 开机自动启动SQL Server
时间: 2023-09-12 15:03:30 浏览: 146
要在Docker启动时自动启动SQL Server,您可以使用以下步骤:
1. 创建一个docker-compose.yml文件,以便在启动时自动启动SQL Server容器。以下是一个示例文件:
```
version: '3.1'
services:
sql-server:
image: mcr.microsoft.com/mssql/server:2019-latest
container_name: sql-server
environment:
ACCEPT_EULA: Y
SA_PASSWORD: yourStrong(!)Password
ports:
- "1433:1433"
restart: always
```
2. 保存文件并在Docker中运行以下命令:
```
docker-compose up -d
```
这将启动一个名为"sql-server"的容器,并将端口1433映射到主机上的端口1433。容器将在Docker启动时自动启动。
3. 如果您希望Docker启动时自动启动该容器,请使用以下命令将其设置为自动启动:
```
docker update --restart=always sql-server
```
这将在Docker启动时自动启动"sql-server"容器。
相关问题
docker安装mysql设置自动启动
### 如何在 Docker 中安装 MySQL 并设置其自动启动
要在 Docker 中安装 MySQL 并将其配置为开机自动启动,可以按照以下方式操作:
#### 1. 安装 Docker 和 MySQL
确保已正确安装 Docker。如果尚未安装,请先完成 Docker 的安装过程。
通过运行以下命令来拉取官方的 MySQL 镜像:
```bash
docker pull mysql:latest
```
创建并启动一个新的 MySQL 容器时,可以通过 `--restart` 参数指定容器的重启策略[^4]。例如,使用 `unless-stopped` 策略表示除非手动停止该容器,否则它将在系统重新启动后自动启动。
```bash
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d --restart unless-stopped mysql:latest
```
#### 2. 对于已有容器启用自动启动
如果已经有一个正在运行的 MySQL 容器,则可以直接更新它的重启策略以实现自动启动功能:
```bash
docker update --restart unless-stopped my-mysql
```
#### 3. 设置 Docker 自身的开机自启 (适用于 Linux)
为了使上述设置生效,还需要保证 Docker 服务本身能够在操作系统启动时被激活。这通常涉及对系统的初始化脚本进行调整。对于基于 systemd 的发行版(如 Ubuntu),可执行如下命令来启用 Docker 的开机自启[^3]:
```bash
systemctl enable docker
```
#### 4. 进一步优化与安全措施
- **端口映射**: 若要让外部设备能够访问此数据库实例,记得将主机上的某个端口号绑定至容器内部的服务端口(默认情况下为3306)[^3]。例如,在启动新容器的时候加入 `-p 3306:3306` 参数。
- **字符集设定**: 推荐进入 MySQL 控制台并通过 SQL 命令更改客户端和服务端之间的通信编码格式为 UTF-8 ,从而避免因区域差异引发的数据乱码现象 。 可采用单条语句形式简化处理流程:`SET NAMES 'utf8';`.
---
### 示例代码片段
以下是完整的示例脚本用于快速部署具有持久化存储支持以及适当参数配置的一个 MySQL 实例,并且设置了合理的重启行为:
```bash
#!/bin/bash
# 创建数据卷目录
mkdir -p /data/mysql
# 启动带持久化的 MySQL 容器
docker run \
--name=mysql-server \
-v /data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=rootpasswordhere \
-p 3306:3306 \
--restart=always \
-d mysql:latest
```
---
ubuntuserver安装docker mysql
在Ubuntu Server上安装Docker并配置MySQL容器,你需要遵循以下步骤:
1. 安装Docker:
- 打开终端并更新软件包列表:`sudo apt-get update`
- 安装Docker:`sudo apt-get install docker-ce docker-ce-cli containerd.io`
2. 启动和启用Docker:
- 安装后启动Docker:`sudo systemctl start docker`
- 并设置为开机启动:`sudo systemctl enable docker`
3. 检查Docker是否安装成功:
- 运行`docker run hello-world`来验证Docker是否能正常工作。
4. 下载Docker镜像:
- 从Docker Hub获取MySQL镜像:`docker pull mysql:latest`
5. 创建MySQL容器:
- 使用以下命令创建一个新的容器,并将其映射到宿主机的一个目录(例如,/var/lib/mysql)用于持久化数据:
```
docker run --name my-mysql -v /var/lib/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql:latest
```
`-v`参数表示挂载宿主机目录,`-p`用于端口映射,`MYSQL_ROOT_PASSWORD`设置root用户的密码。
6. 验证MySQL容器:
- 连接到新创建的MySQL实例:
```
docker exec - 在这里你可以执行SQL命令,例如:`use mysql;`,然后输入`show databases;`查看数据库列表。
阅读全文
相关推荐














