(超简洁)Docker 一键安装(一)mysql

4 篇文章 0 订阅
3 篇文章 0 订阅
首先,大家需要安装完成docker,并启动。
其次使用以下脚本就可以快速完成docker下的mysql的安装了。
mysql的详细解释都在脚本中有注释
在使用脚本前需要有以下准备
1-创建外部的配置文件my.cnf(名字可以随意取,但是要跟脚本中的保持一致)
2-创建运行的脚本,使用以下命令
#创建脚本文件
touch mysql.sh
#进行权限赋值
chmod +x ./mysql.sh
3-复制以下内容到脚本文件中(vim编辑器)
4-使用./mysql.sh 命令运行脚本
5-docker ps -a 进行查看
#!/bin/bash
#Author:文
#Description: docker 安装mysql

#获取当前文件夹的路径
basepath=$(cd `dirname $0`; pwd)

#容器别名
tagname=mysql

#mysql镜像版本
name=mysql:5.7.24

#端口号
port=3308

#mysql配置文件映射地址
config=/usr/local/docker/mysql/config
configPath="/usr/local/docker/mysql/config"

#mysql数据映射地址
data=/usr/local/docker/mysql/data
dataPath="/usr/local/docker/mysql/data"

#mysql日志映射地址
log=/usr/local/docker/mysql/log
logPath="/usr/local/docker/mysql/log"
#mysql的密码
password=root

#判断文件夹是否创建
if [ ! -x "$configPath" ]; then 
  mkdir -p "$configPath"
#创建文件夹并拷贝配置文件到指定目录
  cp  $basepath/my.cnf $configPath
fi
if [ ! -x "$dataPath" ]; then 
  mkdir -p "$dataPath"
fi
if [ ! -x "$logPath" ]; then 
  mkdir -p "$logPath"
fi

#拉取镜像
echo "开始拉取指定镜像$name"

docker pull $name

if [ $? -eq 0 ] ; then
   echo "镜像$name拉取成功"
else
   echo "镜像$name拉取失败"
fi

docker images

echo "开始安装镜像"

#安装镜像

docker  run --name $tagname -p 3308:3306  --restart=always -v $config:/etc/mysql/mysql.conf.d  -v  $data:/var/lib/mysql -v $log:/var/log/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=$password -d $name

if [ $? -eq 0 ] ; then
   echo "镜像$name安装成功"
else
   echo "镜像$name安装失败"
fi

docker ps -a 

echo "mysql的端口号==>$port,密码==>$password"

以下是mysql的外部引用配置文件(需要放在跟运行文件同一目录下)

[mysqld]
bind-address=0.0.0.0
wait_timeout=86400
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set=utf8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种容器化技术,可以将应用程序及其依赖项打包成一个独立的、可移植的容器。一键部署PHP、Nginx和MySQLDocker环境可以简化环境配置和部署过程,提高开发和部署效率。 首先,我们需要创建一个Dockerfile,用于描述容器的构建过程。该文件指定了基础镜像、安装的软件包和配置等信息。例如,基础镜像可以选择官方提供的PHP和Nginx镜像,然后通过命令安装MySQL和其他依赖项。 接下来,我们可以使用Docker Compose来定义和管理多个容器的部署。在docker-compose.yml文件中,我们可以指定应用程序需要的所有服务,包括PHP、Nginx和MySQL等。通过一键部署命令,Docker Compose会自动下载镜像、创建容器,并配置它们之间的网络连接。 例如,以下是一个示例的docker-compose.yml文件: ```yaml version: '3' services: nginx: image: nginx ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - php php: image: php volumes: - ./app:/var/www/html mysql: image: mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_password - MYSQL_DATABASE=your_database ``` 在这个例子中,Nginx容器映射主机的80端口到容器的80端口,通过挂载本地的nginx.conf文件来配置Nginx。PHP容器将本地的app目录挂载到容器的/var/www/html目录,MySQL容器暴露主机的3306端口,并配置了MySQL的root密码和数据库名。 最后,我们只需在项目的根目录下运行一条命令即可一键部署整个环境: ``` docker-compose up ``` 这条命令会根据docker-compose.yml文件的配置,自动下载所需的镜像并创建相应的容器,完成容器化的PHP、Nginx和MySQL环境的部署。之后,我们就可以访问Nginx的80端口来访问应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值