文章目录

  • 创建apache镜像
  • 配置nfs
  • 映射储存卷创建容器
  • 上传网页文件
  • 访问测试

创建apache镜像

//以centos为基础创建一个容器
[root@localhost ~]# docker run --name apache -it centos
[root@a050f73806a8 /]# //将apache安装的包和镜像传过去
[root@localhost ~]# docker cp apache apache:/root/
[root@a050f73806a8 /]# cd root/
[root@a050f73806a8 ~]# ls
anaconda-ks.cfg  anaconda-post.log  apache  original-ks.cfg//包里面是脚本与压缩包,给脚本加权限然后运行
[root@a050f73806a8 apache]# chmod +x install.sh
[root@a050f73806a8 apache]# ls
install.sh  package
[root@a050f73806a8 apache]# ./install.sh //写启动脚本
[root@2d2691ad7fbe ~]# mkdir /scripts/
[root@2d2691ad7fbe ~]# cd /scripts/
[root@2d2691ad7fbe scripts]# vi start.sh
[root@2d2691ad7fbe scripts]# chmod +x start.sh
[root@2d2691ad7fbe scripts]# cat start.sh
#!/bin/bash
/usr/local/apache/bin/apachectl start
/bin/bash//生成镜像
[root@localhost ~]# docker commit  -c 'CMD ["/scripts/start.sh"]'   -p  apache   httpd:v1.0
sha256:3471d3329f64cd8f3bd6f2f36579bbfb73562e08f459637638f2b7282572c590
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
httpd        v1.0      3471d3329f64   About a minute ago   721MB
centos       latest    5d0da3dc9764   2 months ago         231MB//试运行
[root@localhost ~]# docker run -it --name test -p 81:80 httpd:v1.0
[root@e3ce58fdffa0 /]# ss -antl
State                 Recv-Q                Send-Q                                Local Address:Port                                 Peer Address:Port                Process
LISTEN                0                     128                                         0.0.0.0:80                                        0.0.0.0:*

访问

配置nfs

另开一台主机,需要关闭防火墙,selinux

//安装nfs并配置开机自启
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl enable --now nfs-server.service
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.//创建共享目录
[root@localhost ~]# mkdir /nfs
[root@localhost ~]# chmod 777 /nfs/
[root@localhost ~]# vim /etc/exports
[root@localhost ~]# cat /etc/exports
/nfs   192.168.216.215(rw)  //docker主机
[root@localhost ~]# systemctl restart nfs-server.service

在docker主机上配置nfs

[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl enable --now nfs-server.service
[root@localhost ~]#  showmount -e 192.168.216.200  //nfs主机ip
Export list for 192.168.216.200:
/nfs 192.168.216.215[root@localhost ~]# mkdir -p /var/www/html/
[root@localhost ~]# mount -t  nfs 192.168.216.200:/nfs  /var/www/html/
[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              877M     0  877M    0% /dev
tmpfs                 896M     0  896M    0% /dev/shm
tmpfs                 896M  8.8M  887M    1% /run
tmpfs                 896M     0  896M    0% /sys/fs/cgroup
/dev/mapper/cl-root    17G  3.5G   14G   21% /
/dev/sda1            1014M  194M  821M   20% /boot
tmpfs                 180M     0  180M    0% /run/user/0
overlay                17G  3.5G   14G   21% /var/lib/docker/overlay2/dcc1780876a2e04c685879d3c6ad40c2a6945f1fa399b652e02640b9de6a6c35/merged
192.168.216.200:/nfs   37G  1.8G   36G    5% /var/www/html//永久挂载
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Mon Nov 22 08:51:14 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=1f3dc156-63a0-402f-a932-1df189d2ab88 /boot                   xfs     defaults        0 0
/dev/mapper/cl-swap     none                    swap    defaults        0 0
192.168.216.200:/nfs   /var/www/html            nfs     defaults,_netdev 0 0
[root@localhost ~]# mount -a//测试nfs可用性
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# touch abc[root@localhost ~]# cd /nfs/
[root@localhost nfs]# ls
abc

映射储存卷创建容器

[root@localhost ~]# docker run --name httpd -dit -p 82:80 -v /var/www/html:/usr/local/apache/htdocs  httpd:v1.0
1403a1465c933ec038217d53e0c26e6200fdb043122e005a539522cdc9237e10[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE        COMMAND               CREATED          STATUS          PORTS                               NAMES
1403a1465c93   httpd:v1.0   "/scripts/start.sh"   19 seconds ago   Up 18 seconds   0.0.0.0:82->80/tcp, :::82->80/tcp   httpd[root@localhost ~]# docker exec -it httpd /bin/bash
[root@1403a1465c93 /]# ss -antl
State                 Recv-Q                Send-Q                                Local Address:Port                                 Peer Address:Port                Process
LISTEN                0                     128                                         0.0.0.0:80                                        0.0.0.0:*
[root@1403a1465c93 /]# cd /usr/local/apache/htdocs/
[root@1403a1465c93 htdocs]# ls
abc//删除同步的测试文件
[root@1403a1465c93 htdocs]# rm -f abc
[root@1403a1465c93 htdocs]# ls
[root@1403a1465c93 htdocs]# 

上传网页文件

[root@localhost html]# ls
百度图片-发现多彩世界.html[root@1403a1465c93 htdocs]# ls
百度图片-发现多彩世界.html

访问测试

docker储存卷管理实操:利用存储卷部署一个网站相关推荐

  1. AIX卷管理介绍以及利用空闲PP来创建文件系统

    AIX卷管理介绍以及利用空闲PP来创建文件系统     首先我们看看AIX文件系统的基本情况.       为什么需要逻辑卷管理LVM也就是Logic Volume Manager呢?其实主要的原因还 ...

  2. Android逻辑卷管理LVM,LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷->卷组->逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

  3. 使用上存储卷,部署一个网站

    使用上存储卷,部署一个网站 拉取一个镜像 创建容器 再另开一个终端上传httpd.apr.apr-util资源包 运行容器 下载依赖包 创建角色 解压&编译安装apr.apr-util.htt ...

  4. inurl+:php?id,实操:SQL注入国外xx网站

    原标题:实操:SQL注入国外xx网站 来自公众号:孑蝉 前言: 学了SQL注入一段时间了,也在顺利通关过墨者靶场.不过,靶场哪有真实网站好玩? 何为sql注入? SQL注入就是SQL+注入,不清楚可以 ...

  5. windows和Linux利用Python快速搭建一个网站

    windows和Linux利用Python快速搭建一个网站 一.windows 步骤1:安装Python3(自行百度) 步骤2:在cmd窗口输入ipconfig查看本机ip地址,IPV4那一行.如:1 ...

  6. raid卷的作用_raid卷构建实操(raid0、raid1、raid5、raid6以及raid10),可跟做

    今天我和小伙伴们一起来学习raid卷如何建立以及各个raid卷的特点 一.构建高度写.安全性不高的RAID 0卷 1.我们先来构建raid0卷(条带卷),构建是有前提的,要将格式设置成raid所能识别 ...

  7. supervisor 守护多个进程_supervisor守护进程管理实操笔记

    2020年年后工作中需开发一支持多数据源自动上报业务数据的程序,程序开发完部署上线时需要对其进程进行自动管理,不然哪天程序down了还不知,可就麻烦了,所以这里选用了强大的supervisor,以下文 ...

  8. 职业生涯规划与管理实操(zt)

    职业生涯的规划与管理是作为职业人士所面临的首要问题,它是对个人职业发展的远景规划和资源配置.然而绝大多数人忽视或者仅仅在表面上关注这一问题,他们希望在工作中一切都得到满足,于是总是"这山望着 ...

  9. Docker下gitlab搭建 实操步骤

    首先确保当前服务器安装了docker,并已配置镜像加速,配置方法如下 配置docker镜像加速 centos vim /etc/docker/daemon.json (如果文件不存在请新建该文件)加入 ...

最新文章

  1. GDB调试--以汇编语言为例
  2. 《Linux嵌入式实时应用开发实战(原书第3版)》——第2章 安装Linux2.1 发行版...
  3. 使用英伟达NeMo让你的文字会说话,零基础即可实现自然语音生成任务 | 附代码...
  4. java string 后几位_java中String占几个位元组
  5. Python Django session存取值代码演示及jsonpickle序列化
  6. oracle获取序列跳号,Oracle sequence跳号知多少
  7. Java高级语法笔记-内部类
  8. acer清理工具 clear下载_免流量工具聚合下载,包含全部工具
  9. 特斯拉Model X成NASA官方宇航员转运车辆,已打上NASA标志
  10. 卷积神经网络之ResNet网络模型学习
  11. azure备份存储层分类_如何配置Azure SQL数据库长期保留(LTR)备份
  12. Android 爆发病毒,华米 OV 均受影响;微信宣战百度搜索;抖音遭约谈 | CSDN极客头条...
  13. 知识图谱组队学习Task04——知识库的查询语句
  14. matlab小波变换、离散小波变换函数使用
  15. 洛谷 P2123 皇后游戏 解题报告
  16. counters.dat_使用sys.dm_os_performance_counters对SQL Server问题进行故障排除
  17. Unity 3D 面试 数据结构与算法简述
  18. 程序员必知的编程4大祖师爷,C语言之父堪称编程界的牛顿!
  19. 数据结构 图(一)丛林中的路
  20. RDD编程--创建RDD

热门文章

  1. 程序员创业会面临什么困境?
  2. 《好了歌解》--甄士隐
  3. php手机一键复制,通过JS实现一键复制指定内容 | 外教网
  4. 【KITTI】KITTI数据集简介(二) — 标注数据label_2
  5. Tesseract与tess4j验证码识别
  6. 上市公司的工程师,水平怎么样?看看这个案例
  7. 使用python爬取淘宝商品信息
  8. lvm镜像卷【存储】
  9. 微服务狂热_编程狂热者
  10. 视频行为识别检测综述 IDT TSN CNN-LSTM C3D CDC R-C3D