Docker 的挂载卷案例(nginx,redis,mysql8)

文章详细介绍了如何在Docker环境下对Nginx、Redis和MySQL8进行数据卷挂载和目录直接挂载的操作,包括创建容器、挂载配置文件和数据目录,以及通过火墙设置暴露端口,确保服务正常运行和数据持久化。

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

nginx挂载

数据卷挂载

步骤:
① 创建容器并挂载数据卷到容器内的HTML目录:
创建容器并挂载数据卷到容器内的nginx.conf文件

# html目录
docker run --name nginx -v v1:/usr/share/nginx/html -p 80:80 -d nginx
# nginx文件
docker run --name nginx -v v2:/etc/nginx -p 80:80 -d nginx

在这里插入图片描述
② 进入html数据卷所在位置,并修改HTML内容查看是否成功

# 查看html数据卷的位置
docker volume inspect v1

在这里插入图片描述
查看文件v1,v2的位置和内容
在这里插入图片描述

目录直接挂载

创建一个文件夹/opt/docker-nginx并进入文件夹
先下载镜像并创建一个nginx实例:

docker run --name nginx -d  nginx:latest

拷贝实例中的配置文件到本地linux中

 docker cp nginx:/etc/nginx/nginx.conf .
 docker cp nginx:/usr/share/nginx/html .

拷贝完成后删除之前运行的临时镜像

docker rm -f nginx

挂载镜像容器

 docker run --name nginx -v /opt/docker-nginx/html:/usr/share/nginx/html -v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -p 80:80 -d nginx:latest

redis挂载

数据卷挂载

暂时不会

目录直接挂载

创建本地挂载文件目录 /opt/docker-redis
运行redis临时镜像

docker pull redis:7.0.11
docker run --name redis -d redis:7.0.11

官网可以查看copy出的内容

#配置文件在容器中是不存在 ,需要我们手动自己提供一个配置文件并将文件同步到/usr/local/etc/redis/文件夹下即可。
docker cp redis:/data   #rdb文件的cp

找一个7版本的配置文件拷贝到 /opt/docker-redis/redis.conf
运行容器:

docker run \
	--name redis \
	-d \
	-p 6379:6379 \
	-v /opt/docker-redis/redis.conf:/usr/local/etc/redis/redis.conf \
	-v /opt/docker-redis/data/:/data  \
	--privileged=true
	redis:7.0.11 \
	redis-server /usr/local/etc/redis/redis.conf

mysql8挂载

数据卷挂载

不会

目录直接挂载

创建本地挂载文件目录 /opt/docker-mysql/
拉取镜像:这个镜像只能用Navicat15以上的版本测试连接
如果是低版本的Navicat需要拉取低版本的mysql

docker pull mysql:8.0.33

构建镜像

 docker build -t xwdx:1.0 .

如果只有简单的应用可以直接这样配置就可:
创建容器启动镜像:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql:8.0.33

3306端口必须开放,加入白名单,不然连接不上

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload   #重启防火墙

这样就可以用Navicat测试连接了
在这里插入图片描述

Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。使用Docker可以更方便地安装和运行NginxRedis、PHP和MySQL等服务。 以下是使用Docker安装NginxRedis、PHP和MySQL的基本步骤: 1. 安装Docker环境: 首先需要在你的系统上安装Docker。根据你使用的操作系统,安装步骤可能会有所不同。例如,在Ubuntu上,你可以使用以下命令安装Docker: ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 2. 拉取所需的Docker镜像: Docker Hub上有很多官方或非官方的镜像,可以直接拉取使用。你可以使用以下命令来拉取NginxRedis、PHP和MySQL的镜像: ``` docker pull nginx docker pull redis docker pull php docker pull mysql ``` 3. 运行容器: 接下来,你可以运行这些镜像作为容器。这里是一个简单的例子来启动这些服务的容器: ``` # 启动MySQL容器 docker run --name mysql -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql # 启动PHP容器,其中需要将Nginx和PHP容器进行网络桥接 docker run --name php -v /path/to/your/php/files:/var/www/html -d php:7.4-fpm # 启动Redis容器 docker run --name redis -d redis # 启动Nginx容器,并将Nginx的端口映射到宿主机的端口,同时桥接到PHP容器的网络 docker run --name nginx --link php:php --link mysql:mysql -p 80:80 -d nginx ``` 请注意,这里只是一个基础的启动命令示例,实际情况可能需要配置更复杂的网络和数据卷映射。 4. 配置Nginx和PHP(如果需要): 如果需要对Nginx和PHP进行自定义配置,你可以创建自己的配置文件,并在运行容器时通过挂载的方式将配置文件放入容器中。 5. 连接和测试: 一旦容器运行起来,你可以通过访问宿主机的IP地址来测试Nginx是否正常工作,同时通过PHP代码来测试PHP和MySQL的连接是否正常。 请注意,具体的安装和配置可能因版本和需求而异,因此需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值