脚本安装mysql docker
时间: 2023-11-07 07:01:53 浏览: 98
脚本安装MySQL Docker非常简单。你只需要执行以下命令即可:
```
docker run -p 3306:3306 --name hrun_mysql -v ~/mysql/conf:/etc/mysql/conf.d -v ~/mysql/data:/var/lib/mysql -v ~/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.7
```
这个命令会在Docker中运行一个MySQL 5.7的容器,并将容器的3306端口映射到主机的3306端口。同时,它会创建并挂载一些目录用于存储MySQL的配置文件、数据和日志。你需要将`xxxx`替换为你想要设置的MySQL root密码。
相关问题
docker 安装mysql的docker脚本
Docker安装MySQL通常涉及创建一个Dockerfile,这是一个文本文件,包含了构建镜像所需的所有指令。以下是一个简单的示例Dockerfile,用于基于官方MySQL镜像安装和配置MySQL:
```Dockerfile
# 使用官方MySQL镜像作为基础
FROM mysql:latest
# 设置环境变量,如数据库名、用户名和密码
ENV MYSQL_DATABASE=mydb \
MYSQL_USER=root \
MYSQL_PASSWORD=mypassword
# 将Dockerfile目录下的my.cnf文件复制到容器中,并覆盖默认配置
COPY my.cnf /etc/mysql/conf.d/my.cnf
# 暴露MySQL的默认端口
EXPOSE 3306
# 运行MySQL服务
CMD ["mysqld"]
```
在这个例子中,`my.cnf` 文件应该包含你想要设置的额外MySQL配置。然后你可以通过以下步骤来构建并运行这个镜像:
1. 创建一个名为 `Dockerfile` 的文件,并将上述内容粘贴进去。
2. 在Dockerfile所在的目录下,运行 `docker build -t mysql-image .` 来构建镜像。
3. 构建完成后,可以用 `docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypassword --name my-mysql-container mysql-image` 启动一个新的容器,其中 `-p` 参数将主机的3306端口映射到容器内的3306端口。
mysql docker启动脚本
回答: 如果你想在启动MySQL Docker容器时执行一些初始化的SQL脚本,可以通过在容器启动时挂载一个包含脚本的目录,并在Dockerfile中使用ENTRYPOINT命令来指定执行脚本的命令。
首先,确保你已经安装了Docker和Docker Compose。如果你使用的是Docker Desktop,那么你不需要额外安装Docker Compose。然后,你可以从GitHub上下载对应版本的Docker Compose。
接下来,你需要选择MySQL版本为8.0的Docker镜像。你可以使用以下命令来启动一个MySQL容器,并指定root用户的密码和创建的数据库名:
```
docker run -d --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=admin mysql:8.0
```
这样会创建一个名为admin的数据库,但是它是一个空的数据库。如果你想在容器启动时自动执行指定的SQL脚本,你可以将这些脚本放在一个目录中,并将该目录挂载到容器中。例如,你可以将脚本放在一个名为`init-scripts`的目录中。
然后,你可以使用以下的Docker Compose文件来定义你的MySQL容器,并在该文件中指定挂载的目录和执行脚本的命令:
```yaml
version: '3'
services:
mysql:
image: mysql:8.0
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: admin
volumes:
- ./init-scripts:/docker-entrypoint-initdb.d
```
在这个例子中,我们将`./init-scripts`目录挂载到容器的`/docker-entrypoint-initdb.d`目录中,这是MySQL官方镜像中用于执行初始化脚本的目录。你可以将你的初始化SQL脚本放在`./init-scripts`目录中,并在容器启动时自动执行。
希望这能帮到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [docker容器启动Mysql执行初始化sql脚本实现](https://blog.csdn.net/Allocator/article/details/117092356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Docker(五)、启动mysql时自动执行脚本](https://blog.csdn.net/qq_32923745/article/details/80817477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文