这篇文章主要介绍“如何使用docker创建静态网站”,在日常操作中,相信很多人在如何使用docker创建静态网站问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用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创建静态网站”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!