使用docker创建静态网站应用(多种方式)

 更新时间:2019年01月30日 08:28:21   作者:ejiyuan  
这篇文章主要介绍了使用docker创建静态网站应用(多种方式),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

能承载静态网站的服务器有很多,本文使用,nginx、apache、tomcat服务器演示docker静态网站应用设置

一,创建docker文件,

不同服务器的docker文件不一样,下面分别创建nginx、apache、tomcat三个服务器的docker文件,其实主要就是区别于FROM标签于项目文件目录

目录结构褥子:

1,nginx 的 docker文件

FROM nginx
COPY ./www /usr/share/nginx/html/
WORKDIR /usr/share/nginx/html/RUN chown -R daemon:daemon * && chmod -R 755 *
EXPOSE 80

2,apache的 docker文件

FROM httpd
COPY ./www/ /usr/local/apache2/htdocs/
WORKDIR /usr/local/apache2/htdocs/RUN chown -R daemon:daemon * && chmod -R 755 *
EXPOSE 80 

3,tomcat的 docker文件

FROM tomcat
COPY ./www/ /usr/local/tomcat/webapps/ROOT/webapp
WORKDIR /usr/local/tomcat/webapps/ROOT/webapp #切换到项目目录
RUN chown -R daemon:daemon * && chmod -R 755 * #设置权限

这里创建了一个 名为 webapp的项目访问时url地址后面要加入/webapp,这里还要注意Tomcat默认端口是 8080

三个文件应用于不同的环境部署你的网站,根据情况设置权限,也可不设置

二,构建项目

 docker build -t imageName .(注意后面的点,imageName最好是“hub账号名/项目名”方便推送到公共库)

下面会显示构建过程

三,推送到公共仓库

需要先执行 docker login 登录

docker push ejiyuan/webapp

四,在服务器上拉取项目

需要先执行 docker login 登录

docker pull ejiyuan/webapp

执行docker images查看镜像是否存在

五,执行项目 

docker run -d -p 8081:80 ejiyuan/webapp 

六,验证

直接访问宿主ip地址加 启动时给定的端口号8081或使用curl

curl http://192.168.99.100:8081

七,问题

这里已nginx为例如下如果你的项目默认页不是index.html,会出现 401或下面页面:

主要无原因是,没有指定默认页,使用下面命令登录到 镜像中

docker exec -it containerId /bin/bash 

containerId 可以使用 <em>docker ps</em> 得到,修改/etc/nginx/conf.d/default.cnf,容器中如果没有vim或vi 通过下面两个命令安装

apt update
apt install vim

或使用sed命令

sed -i '10c index default.html;' /etc/nginx/conf.d/default.conf

修改往后需要重新加载  

nginx -t #检查配置文件是否有误 
sevice nginx reload # 新加载配置文件

如果不存在 service 使用 exit  退出容器后,使用 docker restart containerId 重新启容器

八,对比

执行 docker images 自己看结果 nginx 最小,Apache次之,tomcat 最大

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Docker安装wordpress并配置数据库超详细介绍版

    Docker安装wordpress并配置数据库超详细介绍版

    安装WordPress是一项常见的任务,使用Docker可以使这个过程更加简单和可靠,下面这篇文章主要给大家介绍了关于Docker安装wordpress并配置数据库的相关资料,需要的朋友可以参考下
    2023-11-11
  • docker私有仓库的镜像删除方式

    docker私有仓库的镜像删除方式

    该文章介绍了如何使用Docker私有仓库删除镜像的步骤,包括获取Token、请求镜像列表和删除镜像的具体操作,同时,还解决了在删除镜像时遇到的MANIFEST_UNKNOWN错误,并提供了相应的解决办法
    2025-02-02
  • Docker的基本使用笔记

    Docker的基本使用笔记

    Docker是一种可以把应用程序自动部署到容器的开源引擎,他和虚拟化相比具有轻量和快速部署删除的特点,可以使软件开发偏向于微服务架构方向。从资源成本和管理方式上都比传统的虚拟化有着太多的优势,但是对运行环境的要求较高。
    2017-04-04
  • 详解docker API管理接口增加CA安全认证

    详解docker API管理接口增加CA安全认证

    这篇文章主要介绍了docker API管理接口增加CA安全认证,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • docker上快速搭建gitlab、gitlab-runer及实现CI/CD功能

    docker上快速搭建gitlab、gitlab-runer及实现CI/CD功能

    这篇文章主要介绍了docker上快速搭建gitlab、gitlab-runer及实现CI/CD,本文给大家讲解的非常详细,包括docker上安装gitlab的相关操作及配置root账号密码,需要的朋友可以参考下
    2022-04-04
  • Docker 安装Redis 无法使用配置文件设置密码问题及解决方法

    Docker 安装Redis 无法使用配置文件设置密码问题及解决方法

    最近开发需要使用各种组件,如果都到开发机上安装,会占用电脑资源较多,所以使用docker容器来安装这些组件,这篇文章主要介绍了Docker安装Redis无法使用配置文件设置密码问题,需要的朋友可以参考下
    2023-08-08
  • Docker部署nGrinder性能测试平台过程解析

    Docker部署nGrinder性能测试平台过程解析

    这篇文章主要介绍了Docker部署nGrinder性能测试平台过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Docker部署Apollo的实现步骤

    Docker部署Apollo的实现步骤

    众所周知分布式配置中心在目前也可以说是企业中项目的标配了,本文主要介绍了Docker 部署Apollo的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • docker实现重新打tag并删除原tag的镜像

    docker实现重新打tag并删除原tag的镜像

    这篇文章主要介绍了docker实现重新打tag并删除原tag的镜像,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker部署SpringBoot项目的实现步骤

    Docker部署SpringBoot项目的实现步骤

    本文主要介绍了Docker部署SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2007-02-02

最新评论