使⽤docker安装nginx
⼀、获取nginx镜像
1.使⽤docker search nginx命令获取nginx镜像列表
2.使⽤docker pull nginx命令拉取nginx镜像到本地,此处我们获取排名第⼀的是官⽅最新镜像,其它版本可以去DockerHub查询
3.使⽤docker images nginx命令,查看我们拉取到本地的nginx镜像IMAGE ID
⼆、创建nginx容器
⾸先测试下nginx镜像是否可⽤,使⽤docker run -d --name mynginx -p 80:80 0839创建并启动nginx容器
-d 指定容器以守护进程⽅式在后台运⾏
--name 指定容器名称,此处我指定的是mynginx
-p 指定主机与容器内部的端⼝号映射关系,格式 -p
[宿主机端⼝号]:[容器内部端⼝],此处我使⽤了主机80端⼝,映射容器80端⼝
0839 是nginx的镜像IMAGE ID前4位
命令执⾏后返回了容器,此时我们已经成功创建了nginx容器,
使⽤docker ps命令,可以查看到正在运⾏的nginx容器,映射端⼝为80
在浏览器访问CentOS主机,会看到nginx欢迎页,如果你是云服务器,请记得开放对应的外⽹端⼝
到这⾥我们已经完成了nginx容器的搭建,但是此时还有个问题,我们如何修改nginx的配置⽂件?
如何修改nginx的配置⽂件
这⾥有两种⽅式解决这个问题:
⽅式⼀:每次都进⼊到nginx容器内部修改
每次都进⼊到nginx容器内部修改。适合改动少,简单使⽤的情况
1.执⾏·docker exec -it ef /bin/bash·进⼊到nginx容器内部,
exec 命令代表附着到运⾏着的容器内部
-
it 是 -i 与 -t两个参数合并写法,-i -t 标志着为我们指定的容器创建了TTY并捕捉了STDIN
ef 是我们要进⼊的容器Id
/bin/bash 指定了执⾏命令的shell
2.进⼊到nginx容器内部后,我们可以cd /etc/nginx,可以看到相关的nginx配置⽂件都在/etc/nginx⽬录下
⽽nginx容器内的默认⾸页html⽂件⽬录为/usr/share/nginx/html
⽇志⽂件位于/var/log/nginx
3.执⾏exit命令我们可以从容器内部退出。
4.容器内编辑f配置⽂件
启动后直接进⼊容器,nginx容器内默认没有vim编辑器,先安装vim
$ apt-get update
$ apt-get install vim
⽅式⼆:将nginx容器内部配置⽂件挂载到主机(推荐⽅式)
将nginx容器内部配置⽂件挂载到主机,之后就可以在主机对应⽬录修改即可。适合频繁修改,复杂使⽤的情况
1.在主机/mnt⽬录下执⾏mkdir -p ./nginx/{conf,html,logs}创建挂载⽬录
2.将容器内的f与f⽂件分别拷贝到主机/mnt/nginx和/mnt/nginx/conf下,分别执⾏
docker cp ef:/etc/f ./
dokcer cp ef:/etc/nginx/conf.f ./conf/
cp 命令代表复制
ef是我们nginx容器的ID,/etc/f 是容器内部f 路径
此时我们的⽬录结构是这样的,这就是我们等会⼉要与nginx容器挂载的⽬录
3.执⾏docker stop b3命令停⽌刚刚创建的nginx容器,b3是容器Id,然后执⾏docker rm b3移除容器,
4.执⾏docker run -d --name mynginx -p 80:80 -v /mnt/f:/etc/f -v /mnt/nginx/logs:/var/log/nginx -v /mnt/nginx/html:/usr/share/nginx/html -v /mnt/nginx/conf:/etc/nginx/conf.d --privileged=true 0839命令,重新创建nginx容器
-v 挂载⽬录,格式 -v: 表⽰将主机⽬录与容器⽬录之间进⾏共享,
--privileged=true 容器内部对挂载的⽬录拥有读写等特权
5.这时候,会出现403,不要惊慌。我们的主机挂载 /mnt/nginx/html⽬录还为空
这时我们在容器的挂载/mnt/nginx/html⽬录下创建index.html,内容随便写上hello docker nginx,再次访问主机IP
到这⾥就⼤功告成了!
需要注意的:我们在挂载⽬录的操作,都实际会映射到容器内部,写配置⽂件的时候⼀定要注意路径问题!!
Nginx负载均衡
在http节点下添加upstream(服务器集),server设置的是集服务器的信息,配置两条信息
#服务器集名称为Jq_one 注意IP写虚拟机IP
upstream Jq_one {
server 192.168.1.104:5000;
server 192.168.1.104:5080;
}
vim编辑器下载与安装在http节点下到location节点修改
location / {
root html;
index index.aspx index.html index.htm;
#其中jq_one 对应着upstream设置的集名称
proxy_pass Jq_one;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论