docker容器中布置静态网站(基于云服务器ubuntu系统)

  1. 服务器准备(ubuntu)
  2. docker
  3. nginx
  4. 静态网页制作
  5. 浏览器测试

服务器布置

这里推荐使用云服务器(阿里云、华为云、腾讯云)可以免费使用几天。在我们买了服务器后会遇到如下问题:

本地电脑ping服务器主机发现ping不通,请求超时

我们需要在管理服务器的界面找到安全组那一栏,然后在安全组出入都要加入icmp这个,建议直接一键添加所有。



然后我们在本地电脑就可以ping通服务器了。

docker安装

在布置好云服务器后,我们使用apt-get update, apt-get upgrade 更新信息。





然后,我们输入docker,出现如下错误:



接着,我们按照通常的按照软件的方法apt-get install docker.io, apt-get install docker.ce,发现出现以下问题

Package 'docker-ce' has no installation candidate

处理办法如下:

#添加docker源
sudo echo "deb https://download.docker.com/linux/ubuntu zesty edge" > /etc/apt/sources.list.d/docker.list #支持解析https
apt-get install -y apt-transport-https ca-certificates curl software-properties-common #添加GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #设置存储库位置
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

然后我们再执行就可以得到下面的结果了



接着就是验证安装结果了,输入docker run hello-world

nginx安装

接下来就是安装nginx了,常规操作apt-get install nginx



接下来就是查看安装效果了,输入命令service start nginx,然后浏览器输入服务器外网ip地址就可以看到nginx默认的界面了。这里会出现一些问题:

1.

问题:nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

nginx: [emerg] still could not bind()

解决办法:netstat -ntlp | grep 80查看



然后输入service nginx stop,再次查看就没有了

问题:nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:86

解决办法

vim /etc/nginx/nginx.conf
将添加的
server {
....
}
放到
http {
...
}
就可以解决了

静态网页制作

首先:mkdir -p /var/www/html

然后 cd到目录,接着执行vim index.html

html中的内容自己定义

然后保存退出,然后修改配置文件中默认的index.html路径,如下



然后重启nginx,service nginx restart

浏览器测试

最后,我们启动docker容器的镜像就可以了,如下



最后就是查看效果了,浏览器输入地址和端口号就可以了

docker容器中布置静态网站的更多相关文章

  1. Docker 案例: 在容器中部署静态网站

    ----------------知识点------------ 容器的端口映射: docker  run  [-P] [-p] -P,–publish-all=true | false,大写的P表示为 ...

  2. Docker 在容器中部署静态网站

    Docker 在容器中部署静态网站 在容器中部署静态网站 设置容器的端口映射 run -P``--publish-all=true|false:容器暴露的所有端口进行映射 -p``--publish= ...

  3. Docker学习(5) 在docker中部署静态网站

    在容器中部署静态网站 设置容器的端口映射 在容器中部署静态网站  -  Nginx部署流程 1 创建映射80端口的交互式容器 2 安装Nginx 3 安装文本编辑器vim 4 创建静态页面 5 修改N ...

  4. 将netcore网站部署到docker容器中

    一.背景 最近一直在看docker的教程,基础知识看的差不多了.理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中. 环境:1.docker for wind ...

  5. Docker容器中开始.NETCore之路

    一.引言 开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境 ...

  6. Docker容器中开始.Net Core之路

    开始写这篇博客前,已经尝试练习过好多次Docker环境安装,.Net Core环境安装了,在这里替腾讯云做一个推广,假如我们想学习.练手.net core 或是Docker却苦于没有开发环境,服务器也 ...

  7. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

  8. .NET Core开发的iNeuOS工业互联平台,iNeuKernel物联网核心组件在Docker容器中部署。

    目       录 1.      概述... 2 2.      演示信息... 2 3.      安装Docker容器... 2 4.      安装dotnet镜像... 3 5.      ...

  9. Docker容器中运行ASP.NET Core

    在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...

随机推荐

  1. Markdown实用教程

    Markdown 是用来编写结构化文档的一种纯文本格式,它使我们在双手不离开键盘的情况下,可以对文本进行一定程度的格式排版.markdown语法是通用的,很多写作平台都是支持markdown的,比如简 ...

  2. Java读书计划和分享

    写在前面 为什么要写这些呢? 接触java已经有三年多了,感触颇多,比如从0到60,只要勤实践.勤思考,很快就可以入门,从60分到满分极致,则单单不是凭借工作年限或者什么就可以.曾经也有过一段迷茫时期 ...

  3. 第10.1节 Python的模块及模块导入

    一. 什么是模块 Python中的模块即单个的Python代码文件,为什么称为模块呢?这是因为在Python中,每个独立的Python文件都可以作为被其他代码导入的模块使用,导入的模块有自己的名字空间 ...

  4. go中位运算

    左移右移 const ( // 将 1 左移 100 位来创建一个非常大的数字 // 即这个数的二进制是 1 后面跟着 100 个 0 Big = 1 << 100 // 再往右移 99 ...

  5. web移动端css reset

    通用版css reset,pc端使用只需要修改html{font-size: 10px;}为html{font-size: 12px;} @charset "utf-8"; htm ...

  6. 题解-SDOI2013 淘金

    题面 SDOI2013 淘金 有一个 \(X\).\(Y\) 轴坐标范围为 \(1\sim n\) 的范围的方阵,每个点上有块黄金.一阵风来 \((x,y)\) 上的黄金到了 \((f(x),f(y) ...

  7. MySQL技术内幕InnoDB存储引擎(六)——锁

    什么是数据库的锁? 锁是数据库系统区别于文件系统的一个关键特性.锁机制用于管理对共享资源的并发访问.让数据库事务满足隔离性的要求. InnoDB 中锁的作用 不仅用于对数据进行并发访问,还还包括了缓冲 ...

  8. uni-app快速入门教程

    1.什么是uni-app? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/ ...

  9. 前置机器学习(四):一文掌握Pandas用法

    Pandas提供快速,灵活和富于表现力的数据结构,是强大的数据分析Python库. 本文收录于机器学习前置教程系列. 一.Series和DataFrame Pandas建立在NumPy之上,更多Num ...

  10. django 验证码

    1.django 缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1 安装Djang ...