Linux安装docker并且安装MySQL(无脑安装版

本文详细指导如何通过yum安装Docker,解决签名问题,下载并配置docker-compose,包括文件重命名和权限设置。后续内容涉及数据库配置文件下载、应用部署及启动/关闭步骤,还提供了解决常见问题的链接资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装docker服务

yum install docker

如果出现moby-containerd-1.3.7 azure-1.x86_64.rpm is not signed参考
https://www.cnblogs.com/dream4567/p/11394699.html

2.下载docker-compose

cd /usr/local/bin
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64

3.重命名文件

rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64

4.给予执行权限

chmod +x /usr/local/bin/docker-compose

5.查看是否可以执行

docker-compose version

6.启动docker

systemctl start docker

7.下载数据库配置文件
下载文件
提取码:03xo

打开docker-compose.yml

配置内容

7.5将application文件上传到根目录
文件上传地址
8.启动

cd /application
docker-compose up -d

关闭命令:

docker-compose down

如果安装过程中有问题可以参考下面几个
http://www.tbaike.com/?/article/48

https://blog.csdn.net/weixin_41060905/article/details/100565855

<think>好的,我现在需要帮用户解决在Linux上通过Docker安装和配置MySQL的问题。用户已经提供了几个引用资料,我需要先仔细阅读这些引用,然后整理出正确的步骤。 首先,用户提到引用[2]中提到了拉取MySQL 8镜像的命令是docker pull mysql:8,而引用[3]则用了mysql:5.7。这说明用户可能有不同版本的需求,但用户现在的问题里没有特别指定版本,所以可能需要默认推荐最新的或者说明如何选择版本。 接下来,安装Docker应该是前提条件。用户提供的引用中,引用[1]、[2]、[3]、[4]都涉及到Docker的使用,但用户的问题已经是在假设Docker已经安装的情况下进行的吗?需要先确认是否需要先安装Docker。根据用户的请求,第一部分是安装Docker,然后才是MySQL。所以步骤应该分两部分:安装Docker,再通过Docker安装MySQL。 关于安装Docker,用户提供的引用中没有详细步骤,可能需要我补充。根据常规方法,在Linux安装Docker通常需要添加Docker仓库,安装依赖,然后安装Docker引擎。可能还需要启动服务并设置开机启动。这部分需要确保步骤正确,比如使用apt-get安装,或者根据不同的Linux发行版调整命令。 然后是安装MySQL的步骤。根据引用[2],拉取镜像后,运行容器时需要指定环境变量,比如MYSQL_ROOT_PASSWORD。同时,端口映射和卷挂载也是关键点,比如-p 3306:3306和-v /my/custom:/etc/mysql/conf.d。另外,引用[1]提到进入容器执行命令的方式是docker exec -it mysql mysql -uroot -p,这需要容器已经运行,并且名称正确。 数据持久化方面,用户可能需要挂载数据目录到宿主机,比如-v mydatavolume:/var/lib/mysql,这样即使容器删除,数据也不会丢失。这里需要解释清楚每个参数的作用,比如-v、-e、-d等。 配置文件的挂载也是一个重要部分,用户可能需要自定义MySQL配置,如字符集或最大连接数,这时候需要将宿主机的配置文件目录挂载到容器的/etc/mysql/conf.d目录下,如引用[2]和[3]提到的。 此外,设置容器自动重启,可以使用--restart=always,如引用[4]中的docker update命令,但通常在运行容器时直接加入该参数会更方便。 安全方面,用户需要知道如何修改root密码,或者创建新用户和数据库,这可能需要进入MySQL容器执行SQL命令,如引用[1]中的进入方法。 可能遇到的问题包括端口冲突、权限问题、镜像拉取失败等。需要提醒用户检查端口是否被占用,确保Docker服务运行,以及使用sudo或root权限执行命令。 最后,生成相关问题时,要考虑用户可能的后续需求,比如如何备份数据、性能优化、主从复制配置等,这些问题可以作为相关提问列出。 总结步骤应该是:安装Docker -> 拉取MySQL镜像 -> 运行容器并配置参数 -> 验证安装 -> 额外配置。每个步骤需要详细说明命令和参数含义,确保用户能正确执行。</think>### 逐步指导:在Linux上通过Docker安装和配置MySQL --- #### **一、安装Docker** 1. **更新系统软件包** 确保系统软件包为最新状态: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 2. **安装Docker依赖** 安装必要工具以通过HTTPS使用仓库: ```bash sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y ``` 3. **添加Docker官方GPG密钥** ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 4. **设置Docker仓库** ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 5. **安装Docker引擎** ```bash sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io -y ``` 6. **验证Docker安装** ```bash sudo docker run hello-world ``` 若输出`Hello from Docker!`则安装成功[^4]。 --- #### **二、通过Docker安装MySQL** 1. **拉取MySQL镜像** 以MySQL 8为例: ```bash sudo docker pull mysql:8 # 若需其他版本(如5.7),替换为`mysql:5.7`[^3] ``` 2. **运行MySQL容器** 执行以下命令启动容器: ```bash sudo docker run -d \ --name mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=your_password \ -v mysql_data:/var/lib/mysql \ -v /host/config:/etc/mysql/conf.d \ --restart=always \ mysql:8 ``` - **参数说明**: - `-d`: 后台运行容器 - `--name`: 容器名称(可自定义) - `-p 3306:3306`: 将容器3306端口映射到宿主机 - `-e MYSQL_ROOT_PASSWORD`: 设置root用户密码(需替换`your_password`) - `-v mysql_data:/var/lib/mysql`: 数据持久化存储(Docker自动创建卷) - `-v /host/config:/etc/mysql/conf.d`: 挂载自定义配置文件目录 - `--restart=always`: 容器自动重启 3. **验证MySQL运行状态** ```bash sudo docker ps | grep mysql # 查看容器是否运行 ``` --- #### **三、配置MySQL** 1. **进入MySQL容器命令行** 使用以下命令登录MySQL客户端: ```bash sudo docker exec -it mysql mysql -uroot -p ``` 输入密码后进入交互界面[^1]。 2. **基础配置示例** - **创建数据库**: ```sql CREATE DATABASE mydb; ``` - **创建用户并授权**: ```sql CREATE USER 'user'@'%' IDENTIFIED BY 'user_password'; GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'%'; FLUSH PRIVILEGES; ``` 3. **修改配置文件** 在宿主机`/host/config`目录下创建`custom.cnf`文件,例如: ```ini [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=200 ``` 重启容器使配置生效: ```bash sudo docker restart mysql ``` --- #### **四、常见问题处理** - **端口冲突**:若宿主机3306端口被占用,修改`-p`参数为`-p 3307:3306`。 - **权限问题**:若挂载目录权限不足,执行`sudo chmod -R 777 /host/config`。 - **数据备份**:通过`docker cp`命令或直接操作卷`mysql_data`备份数据。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值