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容器的镜像就可以了,如下

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

版权声明:本文为JonnyJiang-zh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JonnyJiang-zh/p/14227373.html