最新消息:

腾讯云cvm服务器上利用dockerfile构建nginx容器

VPS优惠 晓宇 浏览 评论

购买腾讯云服务器后需要搭建Dockerfile构建nginx

其实很简单,只需要几步就可以实现了

1 创建dockerFile文件

vim Dockerfile

2 编写指令

#first dockerfile FROM ubuntu:latest MAINTAINER xiaolin "xiaolin_peter@163.com" # RUN apt-get update # RUN apt-get install -y vim # RUN apt-get install -y nginx # 以上执行会创建 3 层镜像。可简化为以下格式: RUN apt-get update && apt-get install -y vim && apt-get install -y nginx # 如上,以 && 符号连接命令,这样执行后,只会创建 1 层镜像。 #指定运行该镜像的容器使用的端口为 80 # docker run的时候 一定要加上 -P EXPOSE 80 CMD ["nginx","-g","daemon off;"]

指令描述

RUN apt-get install -y vim // 这一行指令是为了让生成的镜像容器可以进行vim编辑

第3行 代表后面的所有的指令都依赖于当前设置的镜像 ubuntu:latest

第13行 创建启动容器的时候执行的命令

docker run --name nginx_1 -d -p 8080:80 nginx_demo

相当于

docker run --name nginx_1 -d -p 8080:80 nginx_demo nginx -g "daemon off;"

3 创建镜像

docker build -t nginx_demo .

其中nginx_demo为镜像名

4 创建nginx容器

docker run --name nginx_1 -p 8082:80 -d nginx_demo

# 其中nginx_demo为镜像名 nginx_1 为容器名 8082为主机端口 80为镜像容器暴露端口

5 测试结果

curl http://ip:8082

注意 : 192.168.0.146是我这边的ip,curl获取的内容来自哪一个页面呢?别急啊,接下来我慢慢描述。

首先进入nginx1容器

docker exec -it nginx_1 exec

容器内部目录详情

cd /usr/share/nginx/html cat index.html

curl获取的内容其实就是/usr/share/nginx/html/index.html的内容

接下来我们来证实一下

修改index.html

cd usr/share/nginx/html rm -f * echo hello world>>index.html

重启nginx_1容器

docker restart nginx_1 curl 192.168.0.146:8082

到这里,有同学感觉是不是有点出乎意料,和预期不相符。其实还要修改一个配置文件

继续进入容器

docker exec -it nginx_1 exec

修改/etc/nginx/sites-enabled的default文件

cd /etc/nginx/sites-enabled vim defalut

在location / 内部加上下面两句话

root /usr/share/nginx/html index index.html index.htm

接下来我们继续验证

docker restart nginx_1 curl 192.168.0.146:8082

接下来就看到我们的结果了吧

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)
    • 验证码 点击我更换图片

    网友最新评论