Docker篇-生成MYSQL和REDIS容器

一、下载MYSQL和REDIS镜像

没有下载docker的同学可以去看这篇文章,这篇文章主要讲的用docker-compose来启动容器,今天要讲的是用命令行单独启动容器(这篇文章结尾有docker常见命令,可参考用于该篇文章)https://blog.csdn.net/Peaceuai/article/details/124875101?spm=1001.2014.3001.5502

(1)拉取镜像

# 拉取5.7版本的mysql镜像
docker pull mysql:5.7
# 拉取6.0.0.版本的redis镜像
docker pull redis:6

二、通过镜像生成容器

(1)生成MYSQL容器

# -p中 :前为主机端口号,后为容器端口号 -v中 :前为主机文件夹,后为容器文件夹 
docker run -p 3315:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v /mount/mysql/data:/var/lib/mysql -v /mount/mysql/log:/var/log/mysql -v /mount/mysql/conf:/etc/mysql/conf.d -d mysql:5.7

生成之后通过挂载文件夹新建一个配置文件,操作如下:(主要是防止中文字符乱码问题)

# 进入挂载配置文件夹
cd /mount/mysql/conf

# 新建文件
vim my.cnf

# 将下面内容复制进文件中
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

# 重启容器
docker restart mysql5.7

(2)生成REDIS容器

先新建REDIS的配置文件,之后可通过挂载进容器中

# 进入挂载文件夹
cd /mount

# 新建redis的挂载文件夹
mkdir redis

# 进入redis的挂载文件夹
cd redis

# 新建一个配置文件
vim redis.conf

# 在文件中写入以下内容
 
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程(这里如果写yes会和docker命令中的-d冲突,所以写no)
daemonize no
 
# 指定Redis监听端口,默认端口为6379
port 6379
 
# 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问
bind 0.0.0.0
 
# 需要密码则打开
requirepass 123456
 
# 持久化
appendonly yes

之后可通过下面的命令创建容器

docker run -p 6389:6379 --name=redis6.0.0 -v /mount/redis/redis.conf:/etc/redis/redis.conf -v /mount/redis/data:/data -d redis:6 redis-server /etc/redis/redis.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的docker-compose文件,用于在容器中运行一个Hyperf项目: ``` version: '3' services: app: build: context: . dockerfile: Dockerfile ports: - "9501:9501" volumes: - ./:/var/www/html environment: - APP_ENV=${APP_ENV} - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - DB_DATABASE=${DB_DATABASE} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} depends_on: - mysql mysql: image: mysql:5.7 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} ``` 在上面的docker-compose文件中,我们定义了两个服务:`app`和`mysql`。`app`服务用于运行我们的Hyperf项目,`mysql`服务用于运行MySQL数据库。 在`app`服务中,我们使用`build`指令来构建一个包含我们的Hyperf项目的Docker镜像。同时,我们使用`ports`指令将容器内的9501端口映射到主机的9501端口。我们还使用`volumes`指令将当前目录挂载到容器内的`/var/www/html`目录,以便在容器内运行项目。最后,我们使用`depends_on`指令将`app`服务依赖于`mysql`服务。 在`mysql`服务中,我们使用`image`指令来指定我们要使用的MySQL镜像。我们还使用`ports`指令将容器内的3306端口映射到主机的3306端口。最后,我们使用`environment`指令来设置MySQL的root密码、数据库名、用户名和密码。 请注意,上面的docker-compose文件仅适用于基本的Hyperf项目。如果您的项目需要其他服务(例如Redis或Elasticsearch),则需要相应地修改docker-compose文件以包含这些服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值