Docker安装nginx

世上唯一不能复制的是时间,唯一不能重演的是人生,唯一不劳而获的是年龄。该怎么走,过什么样的生活,全凭自己的选择和努力。人生很贵,请别浪费!与智者为伍,与良善者同行。Docker安装nginx,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1、拉取nginx镜像并查看

# docker搜索nignx
docker search nginx
# 拉取nginx镜像--会从docker官方镜像中拉取
docker pull nginx
# 查看docker镜像
docker images

2、运行镜像容器

docker run --name myNginx -p 80:80 -d nginx

  参数含义:

  -d 指定容器以守护进程方式在后台运行
  –-name 指定启动容器名称,此处名字为:myNginx
  -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处为: 主机80端口,映射容器80端口

  最后那个nginx是指要依赖镜像的名称

3、运行起来后可以进入镜像查看信息

# 进入容器内部
docker exec -it 容器id /bin/bash
# 退出容器
exit

  容器内部就是一个安装了nginx的简易版的linux系统,进入容器后可以发现内部的文件目录和linux的基本一致,包括nginx的配置文件,日志文件等信息。

4、设置nginx挂载

  由于nginx运行是依赖一些配置的文件,比如转发的配置,默认页面,日志等信息,这些配置不适合直接放在容器里,因为容器一旦重新部署或者删除的话,这些配置将会丢失。

  所以,我们需要将nginx的一些配置挂载到宿主机上(或者其他内网机器上也行,这里只示例挂载在宿主机)

  我们要先将docker容器启动起来,然后将容器内部的文件复制到宿主机上(不要问为什么不直接在宿主机上新建文件,cv他不香吗?)

  具体步骤:

  4.1、运行容器(如果已运行则忽略此步骤)

docker run --name myNginx -p 80:80 -d nginx

  4.2、在宿主机上创建挂载目录(/home/docker/volumes/nginx/log和/home/docker/volumes/nginx/conf)

# 绝对路径方式
mkdir -p /home/docker/volumes/nginx/{log,conf}
# 相对路径方式(首先要cd到相应目录)
mkdir -p ./docker/volumes/nginx/{log,conf}

  4.3、将容器中的配置复制到挂载目录

# 从容器中复制配置文件
docker cp myNginx:/etc/nginx/nginx.conf /home/docker/volumes/nginx/conf/nginx.conf
# 从容器中复制配置文件夹   
docker cp myNginx:/etc/nginx/conf.d /home/docker/volumes/nginx/conf/
# 从容器中复制html文件                  
docker cp myNginx:/usr/share/nginx/html /home/docker/volumes/nginx/
# 从容器中复制日志文件        
docker cp myNginx:/var/log/nginx /home/docker/volumes/nginx/log                   

    其中myNginx是指启动的容器name,

  4.4、停止并删除nginx容器(因为需要在docker run的时候设置挂载,所以之前启动的容器需要删除重新起一个)

docker stop myNginx                               
docker rm myNginx

  4.5、使用挂载方式启动nginx容器

chmod 777 /home/docker/volumes/nginx/conf/nginx.conf
docker run -d -p 7777:80 --name myNginx \
 -v /home/docker/volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
 -v /home/docker/volumes/nginx/conf/conf.d:/etc/nginx/conf.d \
 -v /home/docker/volumes/nginx/html:/usr/share/nginx/html \
 -v /home/docker/volumes/nginx/log:/var/log/nginx \
 -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
 --privileged=true --restart=always nginx

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238784.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!