Linux安装docker ,创建mysql容器并测试成功

目录

一:安装docker

首先需要安装yum工具

更新本地镜像源:

 启动docker:

启动docker: 

配置Docker的镜像加速器:

二:docker安装mysql

拉取 MySQL 镜像

查看本地镜像

运行容器

安装成功


一:安装docker

首先需要安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

更新本地镜像源:

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

 然后输入:

yum install -y docker-ce

 启动docker:

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld

启动docker: 

systemctl start docker    # 打开docker服务
systemctl stop docker     # 停止docker服务
systemctl restart docker  # 重启docker服务
systemctl status docker   # 查看docker服务状态

当出现active(running)时,即为启动成功,如图:

配置Docker的镜像加速器:

vi /etc/docker/daemon.json

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

刷新守护进程:

systemctl daemon-reload

重启docker:

 systemctl restart docker

到此Docker的安装就基本结束了

效验配置是否成功

docker info

二:docker安装mysql

docker search mysql    # 查看可用版本

拉取 MySQL 镜像

这里我们拉取官方的最新版本的镜像:

docker pull mysql:latest

查看本地镜像

docker images

运行容器

安装完成后,我们可以使用以下命令来运行 mysql 容器:

docker run -itd --name mysql-test -p 9999:9999 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明:

  • -p 9999:9999 :映射容器服务的 9999 端口到宿主机的 9999 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。

  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

安装成功

通过 docker ps 命令查看是否安装成功:

docker ps -a

### 创建启动 MySQL 容器 要在 Linux 上使用 Docker 创建启动 MySQL 容器,可以按照以下方式操作: #### 1. 搜索拉取 MySQL 镜像 首先需要确认本地是否有可用的 MySQL 镜像。如果不存在,则可以通过 `docker pull` 命令下载官方镜像。 ```bash docker search mysql docker pull mysql:latest ``` 上述命令会搜索可用的 MySQL 镜像,下载最新版本的镜像文件[^1]。 #### 2. 创建运行 MySQL 容器 创建容器时需指定一些必要的参数,例如映射主机端口到容器内部端口、设置环境变量以及挂载数据卷等。 以下是完整的命令示例: ```bash docker run -d \ -p 3306:3306 \ -v /path/to/host/mysql/conf:/etc/mysql/conf.d \ -v /path/to/host/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=your_password_here \ --name my_mysql_container \ mysql:latest ``` - `-p 3306:3306`: 将宿主机的 3306 端口映射到容器内的 3306 端口。 - `-v /path/to/host/mysql/conf:/etc/mysql/conf.d`: 挂载配置文件目录至容器内 `/etc/mysql/conf.d` 路径下。 - `-v /path/to/host/mysql/data:/var/lib/mysql`: 数据持久化存储路径,将宿主机上的某个目录挂载到容器中的默认数据库存储位置。 - `-e MYSQL_ROOT_PASSWORD=your_password_here`: 设置 root 用户密码。 - `--name my_mysql_container`: 自定义容器名称以便管理。 - `mysql:latest`: 使用最新的 MySQL 镜像版本[^3]。 #### 3. 解决可能遇到的问题 如果在启动过程中出现问题,比如容器无法正常启动,可能是由于 SELinux 权限限制或其他原因引起的。此时可尝试如下解决方案: - **临时关闭 SELinux** 执行以下命令来临时禁用 SELinux: ```bash setenforce 0 ``` - **永久修改 SELinux 配置** 编辑 `/etc/selinux/config` 文件将其中的内容改为: ```bash sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ``` 修改完成后需要重启系统才能生效[^2]。 重新执行 `docker start my_mysql_container` 验证状态是否恢复正常。 --- ### 示例代码片段 下面是一个简单的脚本用于自动化部署过程: ```bash #!/bin/bash # Step 1: Pull the latest MySQL image echo "Pulling the latest MySQL image..." docker pull mysql:latest # Step 2: Run a new container with specified configurations echo "Starting MySQL container..." docker run -d \ --name=my_mysql_container \ -p 3306:3306 \ -v $(pwd)/conf:/etc/mysql/conf.d \ -v $(pwd)/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=securepassword \ mysql:latest # Step 3: Verify that the container is running echo "Verifying container status..." docker ps | grep my_mysql_container ``` 此脚本能够自动完成镜像拉取、容器创建及基本校验工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戲子 鬧京城°ぃ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值