Docker安装nginx

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

 

posted @ 2022-11-18 11:36  关心千九  阅读(387)  评论(0编辑  收藏  举报