Linux安装docker,在docker上安装mysql

本文详细介绍了在Linux(CentOS7)系统中如何下载、安装Docker,并通过配置镜像加速器提高效率。接着演示了如何启动、停止和重启Docker服务。此外,还涵盖了在Docker中搜索、下载、管理镜像以及创建、运行、管理MySQL容器的步骤,最后提供了验证MySQL安装成功的操作方法。

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

一、linux安装docker

1.下载安装包

下载地址:Index of linux/centos/7/x86_64/stable/Packages/

我用的操作系统是centos7,根据自己操作系统找到相应版本下载

2.上传安装包

我用的是VMwar虚拟机,需要将Windows上下载的安装包上传到虚拟机。

使用rz命令,或者xftp等文件传输软件将安装包上传到linux操作系统上。

3.安装

[root@centos ~]# yum install docker-ce-18.06.0.ce-3.el7.x86_64.rpm -y

 4.启动docker

systemctl start docker    #启动

systemctl stop docker    #关闭

systemctl restart docker    #重启

systemctl status docker    #查看状态,如果为running则为已启动

5.配置Docker的镜像加速器(重要)

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://xvfxujw8.mirror.aliyuncs.com"]
}

镜像加速器如何找?

容器镜像服务 (aliyun.com)

登录阿里云--》左上角三条横线---》镜像容器服务---》镜像工具---》镜像加速器

 6.刷新守护进程

systemctl daemon-reload

7.重启docker

systemctl restart docker

 8.验证配置是否成功

docker info

 二、在docker上安装mysql以及centos7

1.搜索镜像

docker search mysql

docker search centos7

2.下载镜像

docker pull mysql

docker pull openjdk

docker pull centos7

3.列举本地仓库的所有镜像

docker images

4.导入或加载镜像

docker load -i mysql.tar 
#docker load -i centos7.tar 
#docker load -i java8.tar
#docker load -i tomcat.tar
#docker load -i nginx.tar

5.删除镜像

 docker rmi -f openjdk:latest
 docker rmi -f 040bdb29ab37
 docker rmi -f $(docker images)
#3种方法都可以

6.创建容器

docker run centos:centos7 /bin/echo 'Hello World'       #创建centos7的临时容器

 docker run -it --name=mycentos centos:centos7 /bin/bash   #创建centos7的容器

 docker run -di --name=m1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=docker001  mysql:5.7
 
#创建mysql容器   宿主机端口:3307  容器端口:3306  密码:123456  版本为mysql:5.7

7.列举正在运行的容器

docker ps  #正在使用的容器

docker ps -a  #列举所有的容器(包括停止的)

8.停止、启动、重启容器

docker stop 容器的id(或者容器名)
docker start 容器的id(或者容器名)
docker restart 容器的id(或者容器名)

9.进入容器

docker exec -it (容器id或者容器名) /bin/bash

10.退出容器

exit

11.删除容器

docker rm -f 容器的id
docker rm -f $(docker ps -a -q)

12.过滤输出容器的ip地址

docker inspect --format='{{.NetworkSettings.IPAddress}}'  容器名称

登录测试mysql是否安装成功

 

<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、付费专栏及课程。

余额充值