用一个存储卷部署一个网站

创建容器
[root@localhost ~]#  docker run --name centos -dit centos /bin/bash
5797953ad4494972432350c3ddfc41e3d8cfe0dcb771d3c868550e1f9057b992
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
5797953ad449   centos    "/bin/bash"   7 seconds ago   Up 6 seconds             centos传输httpd编译所需的资源包
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apr-1.7.0.tar.gz       debug                kernels
apr-util-1.6.1.tar.gz  httpd-2.4.51.tar.gz
[root@localhost src]# docker cp httpd-2.4.49.tar.gz  centos:/usr/src/
[root@localhost src]# docker cp apr-1.7.0.tar.gz centos:/usr/src/
[root@localhost src]# docker cp apr-util-1.6.1.tar.gz centos:/usr/src/连接容器并下载依赖包
[root@5797953ad449 /]# ls
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@5797953ad449 /]# cd /usr/src/
[root@5797953ad449 src]# ls
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  debug  httpd-2.4.49.tar.gz  kernels
[root@5797953ad449 src]# yum groups mark install 'Development Tools'
[root@5797953ad449 src]# yum -y install openssl-devel pcre-devel pcre  expat-devel libtool gcc gcc-c++  make创建id
[root@5797953ad449 src]# groupadd -r apache
[root@5797953ad449 src]# useradd -r -M -s /sbin/nologin -g apache apache
[root@5797953ad449 src]# id apache
uid=998(apache) gid=996(apache) groups=996(apache)安装依赖包apr
[root@5797953ad449 src]# tar xf apr-1.7.0.tar.gz
[root@5797953ad449 src]# tar xf apr-util-1.6.1.tar.gz
[root@5797953ad449 src]# tar xf httpd-2.4.49.tar.gz
[root@5797953ad449 src]# ls
apr-1.7.0         apr-util-1.6.1         debug         httpd-2.4.49.tar.gz
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.51  kernels
[root@5797953ad449 src]# cd apr-1.7.0
[root@5797953ad449 apr-1.7.0]# sed -i '/$RM "$cfgfile"/d' configure
[root@5797953ad449 apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@5797953ad449 apr-1.7.0]# make && make install安装依赖包apr-util
[root@5797953ad449 apr-1.7.0]# cd ../apr-util-1.6.1
[root@5797953ad449 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@5797953ad449 apr-util-1.6.1]# make && make install安装软件包httpd
[root@5797953ad449 apr-util-1.6.1]# cd ../httpd-2.4.49
[root@5797953ad449 apr-util-1.6.1]# ./configure --prefix=/usr/local/apache \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
[root@5797953ad449 httpd-2.4.49]# make && make install[root@5797953ad449 httpd-2.4.49]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@5797953ad449 httpd-2.4.49]# source /etc/profile.d/httpd.sh
[root@5797953ad449 httpd-2.4.49]# ln -s /usr/local/apache/include/ /usr/include/httpd
[root@5797953ad449 httpd-2.4.49]# echo 'MANPATH /usr/local/apache/man' >> /etc/man.config
[root@5797953ad449 httpd-2.4.49]# sed -i '/#ServerName/s/#//g' /usr/local/apache/conf/httpd.conf编写启动脚本
[root@5797953ad449 httpd-2.4.49]# mkdir /scripts/
[root@5797953ad449 httpd-2.4.49]# cd /scripts/
[root@5797953ad449 scripts]# touch start.sh
[root@5797953ad449 scripts]# chmod +x start.sh
[root@5797953ad449 scripts]# vi start.sh
[root@5797953ad449 scripts]# cat start.sh
#!/bin/bash/usr/local/apache/bin/apachectl start
/bin/bash制作镜像
[root@localhost src]# docker commit -a 'csl <yibie>' -c 'CMD ["/scripts/start.sh"]'   -p  centos   httpd:v1.0
sha256:3d403d117443ab5d8d7fdd6ff84befe8e2391c61bf143eb817d345f4df24635f
在另一台主机配置nfs存储
安装nfs
[root@nfs ~]# yum -y install nfs-server
[root@nfs ~]#  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@nfs ~]# mkdir /nfs
[root@nfs ~]# chmod 777 /nfs/
[root@nfs ~]# vim /etc/exports
/nfs   192.168.57.139(rw)
[root@nfs ~]# systemctl restart nfs-server.service在docker主机上配置nfs安装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 ~]# showmount -e 192.168.230.132
Export list for 192.168.57.139:
/nfs 192.168.57.140永久挂载
[root@localhost ~]# vim /etc/fstab #
# /etc/fstab
# Created by anaconda on Mon Oct 11 04:00:01 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/rhel-root   /                       xfs     defaults        0 0
UUID=c8ac0ee8-e337-4e19-bad8-2fda61bb24b2 /boot                   xfs     defaults        0 0
/dev/mapper/rhel-home   /home                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
192.168.57.140:/nfs   /var/www/html            nfs     defaults,_netdev 0 0
[root@localhost ~]# mount -a测试nfs
在docker主机共享目录上创建文件
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]#
[root@localhost html]# touch 123
[root@localhost html]# ls
123nfs主机查看
[root@nfs ~]# ls /nfs/
123根据新镜像启动一个容器
[root@localhost src]# docker run --name httpd -dit -p 80:80 -v /var/www/html:/usr/local/apache/htdocs  httpd:v1.0
c3527c62ca05f21af4ed289263feaef7e3922cb7abfc5e8b11cf57ddc779d2de
[root@localhost src]# docker ps
CONTAINER ID   IMAGE        COMMAND               CREATED          STATUS          PORTS                               NAMES
c3527c62ca05   httpd:v1.0   "/scripts/start.sh"   24 seconds ago   Up 22 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   httpd
[root@localhost src]# ss -anlt
State   Recv-Q  Send-Q   Local Address:Port    Peer Address:Port  Process
LISTEN  0       128            0.0.0.0:80           0.0.0.0:*
LISTEN  0       128            0.0.0.0:22           0.0.0.0:*
LISTEN  0       128               [::]:80              [::]:*
LISTEN  0       128               [::]:22              [::]:*
[root@localhost src]# docker exec -it httpd /bin/bash
[root@3037202498fe /]# cd /usr/local/apache/htdocs/
[root@3037202498fe htdocs]# ls上传网页文件
[root@localhost html]# ls
'(15条消息) 部署个网站_早川语的博客-CSDN博客.html'
[root@c3527c62ca05 htdocs]# ls /usr/local/apache/htdocs/
'(15条消息) 部署个网站_早川语的博客-CSDN博客.html'

docker部署apache服务(使用存储卷)相关推荐

  1. docker部署微服务项目

    上次有人说部署单个springboot项目和ssm写的非常的简单可以写一篇docker部署微服务的结构的文章的吗 安排 什么是微服务? 微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应 ...

  2. Docker 部署 FreeIPA 服务

    Docker 部署 FreeIPA 服务 一.FreeIPA Docker 服务部署 1.安装 FreeIPA 服务器 2.部署过程 3.域名解析 二.FreeIPA 服务器脚本批量用户操作 1.进入 ...

  3. Docker 部署微服务项目

    目录 一.前言 二.环境准备 1.安装 Docker 2.Docker 安装 MySQL 3.Docker 安装 Redis 4.Docker 安装 Nacos 5.Docker 安装 Nginx 三 ...

  4. docker部署mysql并挂载数据卷

    docker部署mysql并挂载数据卷 备份mysql源文件 windows下备份数据库 # 方法一:进入到mysql安装路径下的bin文件,执行备份命令 # pg_dump -h localhost ...

  5. pg安装部署linux_简简单单基于docker部署微服务网关

    ❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...

  6. 微服务开发及部署_简简单单基于docker部署微服务网关

    ❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...

  7. Docker部署微服务详解

    2019独角兽企业重金招聘Python工程师标准>>> 2013年发布至今,Docker一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚Docker 到底是什么,要解决 ...

  8. docker部署java服务

    目的 1.在centos上安装mysql.jdk,之后完成java服务部署 2.通过docker进行部署,熟悉docker命令 3.打包发布到docker hub 系统安装 安装centos7系统,首 ...

  9. 使用 Docker 部署 Node 服务

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 Docker 是一个开源的容器引擎.开发者可以将自己的应用以及依赖打包为一个可移植的容器,然后 ...

最新文章

  1. vfp中,函数subs(计算机管理信息系统,7)返回的结果是,VFP选择题库(可发学生).xls...
  2. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
  3. phpmyadmin修改mysql数据库_用phpMyAdmin修改mysql数据库密码
  4. DOM文档加载的步骤:
  5. python新手练习项目_适合Python 新手的5大练手项目,你练了么?
  6. Python基础入门的必备知识点
  7. 七月二十一日!! NVIDIA DLI 深度学习入门课程——计算机视觉
  8. Vue3学习笔记01:使用NPM方法安装Vue3
  9. (24)VHDL实现与或非(行为描述)
  10. 死锁 操作系统第二章知识点归纳总结
  11. 在html中使用css的主要方式有,html中使用css的方法有哪几种
  12. 【python简洁之道】-----2.导入模块顺序(规范/风格)
  13. 逻辑函数卡诺图法化简(一)
  14. 怎样修改MTK Scatter 文件
  15. krpano使用gyro2.js自定义陀螺仪
  16. 哨兵2A数据的下载与处理
  17. Linux双网卡双ip配置
  18. GL、GLU、GLUT
  19. Latex中自动引用参考文献的方法,一分钟搞定
  20. Siemens-PLM-TeamCenter虚拟机安装与配置

热门文章

  1. 微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育” 一、教师管理模块
  2. DNS服务器是如何工作的?
  3. Windows10连不上网报错代码
  4. Image.FromStream与Image.FromFile使用区别
  5. 史上最全前端学习路线图(视频+工具+书籍+资源)
  6. [转载]我爱我妻----让男人看一遍哭一遍的文章
  7. 抖音素材哪里收集_抖音素材哪里收集 这个视频下载网站帮你处理好了
  8. 生命游戏 Life of Game
  9. jq js css3 实现瀑布流
  10. 使用OpenSSL生成自己服务器的证书