iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >docker容器源码怎样部署httpd用存储卷部署网站
  • 120
分享到

docker容器源码怎样部署httpd用存储卷部署网站

2023-06-21 23:06:25 120人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关Docker容器源码怎样部署Httpd用存储卷部署网站,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。docker容器源码部署httpd,用存储卷部署网站创建一个h

这篇文章将为大家详细讲解有关Docker容器源码怎样部署Httpd用存储卷部署网站,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

docker容器源码部署httpd,用存储卷部署网站

创建一个httpd镜像

// 创建一个httpd容器[root@localhost ~]# docker run -tid --name httpd Centos2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345[root@localhost ~]# docker psCONTaiNER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES2d693e16f4f3   centos    "/bin/bash"   5 seconds aGo   Up 4 seconds             httpd// 连接上这个容器[root@localhost ~]# docker exec -it 2d693e16f4f3 /bin/bash[root@2d693e16f4f3 /]# // 把源码包放到容器中[root@localhost ~]# docker cp /usr/src/apr-1.7.0.tar.gz 2d693e16f4f3:/usr/src/[root@localhost ~]# docker cp /usr/src/apr-util-1.6.1.tar.gz 2d693e16f4f3:/usr/src/[root@localhost ~]# docker cp /usr/src/httpd-2.4.49.tar.gz 2d693e16f4f3:/usr/src/[root@2d693e16f4f3 /]# ls /usr/src/apr-1.7.0.tar.gz       debug                kernelsapr-util-1.6.1.tar.gz  httpd-2.4.49.tar.gz// 源码安装httpd[root@2d693e16f4f3 /]# useradd -r -M -s /sbin/nologin apache[root@2d693e16f4f3 /]# id apacheuid=998(apache) gid=996(apache) groups=996(apache)[root@2d693e16f4f3 /]# yum groups mark install 'Development Tools' -y[root@2d693e16f4f3 /]# yum -y install openssl-devel pcre-devel expat-devel libtool GCc gcc-c++ make[root@2d693e16f4f3 /]# cd /usr/src/[root@2d693e16f4f3 src]# tar xf apr-1.7.0.tar.gz -C /usr/local/[root@2d693e16f4f3 src]# tar xf apr-util-1.6.1.tar.gz -C /usr/local/[root@2d693e16f4f3 src]# tar xf httpd-2.4.49.tar.gz -C /usr/local/[root@2d693e16f4f3 src]# cd /usr/local/apr-1.7.0/[root@2d693e16f4f3 apr-1.7.0]# vi configurecfgfile="${ofile}T"    trap "$RM \"$cfgfile\"; exit 1" 1 2 15    # $RM "$cfgfile"        //将此行加上注释,或者删除此行[root@2d693e16f4f3 apr-1.7.0]# ./configure --prefix=/usr/local/apr[root@2d693e16f4f3 apr-1.7.0]# make && make install[root@2d693e16f4f3 local]# cd apr-util-1.6.1/[root@2d693e16f4f3 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/[root@2d693e16f4f3 apr-util-1.6.1]# make && make install[root@2d693e16f4f3 apr-util-1.6.1]# cd ../httpd-2.4.49/ [root@2d693e16f4f3 httpd-2.4.49]# ./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@2d693e16f4f3 httpd-2.4.49]# make && make install[root@2d693e16f4f3 local]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh[root@2d693e16f4f3 local]# source /etc/profile.d/httpd.sh[root@2d693e16f4f3 local]# ln -s /usr/local/apache/include /usr/include/apache[root@2d693e16f4f3 local]# apachectl start[root@2d693e16f4f3 local]# ss -anltState  Recv-Q Send-Q  Local Address:Port   Peer Address:Port Process                                                      LISTEN 0      128           0.0.0.0:80          0.0.0.0:*    [root@2d693e16f4f3 local]# cd /[root@2d693e16f4f3 /]# [root@2d693e16f4f3 /]# [root@2d693e16f4f3 /]# vi start.sh#! /bin/sh/usr/local/apache/bin/apachectl start/bin/bash[root@2d693e16f4f3 /]# chmod +x start.sh// 构建镜像[root@localhost ~]# docker commit -p -c 'CMD ["/bin/bash","start.sh"]' 2d693e16f4f3 syblyw0806/httpd:v0.1sha256:16913ce01fdceee9a389906cf385893120734b1a088b894cc5dce1a9ead252fd[root@localhost ~]# docker imagesREPOSITORY         TAG       IMAGE ID       CREATED         SIZEsyblyw0806/httpd   v0.1      16913ce01fdc   6 seconds ago   713MBbusybox            latest    d23834f29b38   6 days ago      1.24MBcentos             latest    5d0da3Dc9764   2 months ago    231MB

部署nfs

需要开启一台新的虚拟机

[root@localhost ~]# yum -y install nfs-utils[root@localhost ~]# systemctl restart nfs-server.service[root@localhost ~]# mkdir /nfs[root@localhost ~]# chmod 777 /nfs/[root@localhost ~]# vim /etc/exports/nfs 192.168.200.136(rw)[root@localhost ~]# systemctl restart nfs-server

在有docker服务的虚拟机上一样安装nfs

[root@localhost ~]# yum -y install nfs-utils[root@localhost ~]# showmount -e 192.168.200.137Export list for 192.168.200.137:/nfs 192.168.200.136

挂载

[root@localhost ~]# mount -t nfs 192.168.200.137:/nfs /var/www/html/[root@localhost ~]# df -hFilesystem             Size  Used Avail Use% Mounted ondevtmpfs               883M     0  883M   0% /devtmpfs                  901M     0  901M   0% /dev/shmtmpfs                  901M  8.9M  892M   1% /runtmpfs                  901M     0  901M   0% /sys/fs/cgroup/dev/mapper/rhel-root   47G   23G   25G  48% //dev/nvme0n1p1        1014M  179M  836M  18% /boottmpfs                  181M     0  181M   0% /run/user/0overlay                 47G   23G   25G  48% /var/lib/docker/overlay2/0a219b8bbb04290f6b1cc1ae29f5eb1a9bc713ff12c86c86c7e13d5c7ca63a0e/merged192.168.200.137:/nfs    47G  2.2G   45G   5% /var/www/html

创建容器并映射

[root@localhost ~]# docker run -itd --name httpd1 -p 80:80 -v /var/www/html/:/usr/local/apache/htdocs 16913ce01fdc42e38f1db61e49fafa0682125d0425e3d41c4f2db0f48e1973dee1905a90daf3[root@localhost ~]# docker psCONTAINER ID   IMAGE          COMMAND                CREATED          STATUS         PORTS                               NAMES42e38f1db61e   16913ce01fdc   "/bin/bash start.sh"   10 seconds ago   Up 9 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   httpd1

上传我们要部署网站的代码

[root@localhost ~]# cd /var/www/html/[root@localhost html]# lsgame.html  images  index.html  js  style

此时在新开的一台虚拟机查看nfs

[root@localhost ~]# ls /nfs/game.html  images  index.html  js  style

访问测试

docker容器源码怎样部署httpd用存储卷部署网站

docker容器源码怎样部署httpd用存储卷部署网站
docker容器源码怎样部署httpd用存储卷部署网站

关于docker容器源码怎样部署httpd用存储卷部署网站就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: docker容器源码怎样部署httpd用存储卷部署网站

本文链接: https://www.lsjlt.com/news/301527.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作