您的位置:首页 > 运维架构 > Docker

docker容器中布置静态网站

2021-01-10 20:54 881 查看

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: