docker之nignx的安装

一、安装命令

  一、容器操作

  1. 启动容器
  • docker run:创建并启动一个容器。例如,docker run --name mynginx -d nginx:latest会以后台模式启动一个名为mynginx的容器,使用nginx:latest镜像。
  1. 查看容器
  • docker ps:查看正在运行的容器。加上-a参数可以查看所有容器(包括已停止的)。
  • docker logs:获取容器的日志。可以使用-f参数跟踪日志输出,-t参数显示时间戳等。
  1. 进入容器
  • docker exec -it <container_id> /bin/bash:进入正在运行的容器并执行命令。
  1. 停止和删除容器
  • docker stop <container_id>:停止运行中的容器。
  • docker rm <container_id>:删除一个或多个容器。

  二、镜像操作命令

  1. 查看镜像
  • docker images:列出本地主机上的镜像。
  1. 搜索镜像
  • docker search:从Docker Hub搜索镜像。
  1. 拉取镜像
  • docker pull:从Docker Hub或其他镜像仓库拉取镜像。
  1. 删除镜像
  • docker rmi:删除一个或多个镜像。

  三、其他常用命令

  • docker system df:查看Docker磁盘使用情况。

二、安装步骤

   第一步:查看系统是否已经存在该应用的镜像,通过docker images命令查看,如果没有则dokcer pull nignx:latest拉取镜像,其中nignx是应用名称,latest是应用版本,表示获取最新的版本。如下所示包含TAG(标签、版本)、IMAGE ID(镜像id)、CREATED(创建时间) 、SIZE(镜像大小)等内容。

docker pull mysql:latest
docker images

  

  第二步:通过镜像创建容器,可以选择不同的TAG版本创建不同的容器,主要涉及一些参数的设置比如端口映射、权限、重启方式、内存、磁盘挂载等参数。

  1、通过以下命令运行一个简单的容器,目的拷贝相关的容器文件,为后续的创建容器进行数据卷的挂载工作。

docker run -p 80:80 -d --name nginx-server nginx:latest

  2、将容器的配置文件、日志文件、数据文件通过docker cp命令进行挂载到宿主机中,挂载的目的<1>数据持久化,如果容器被删除,容器内部的所以数据都会丢失过将数据目录挂载到宿主机,可以确保重要数据得到持久化保存;<2>方便数据管理和调试,选择docker是方便分布式应用部署,可以在开发和调试阶段在本地开发机上部署多个应用,通过将数据目录挂载到宿主机从而可以直接在宿主机上编辑配置文件,调整应用参数加快开发和调试过程,减少通过docker  ps上传拷贝文件来实现修改文件。

  通过使用docker inspect命令,获取 docker 容器或镜像的元数据(IP、卷挂载、镜像)等信息或者docker exec -it <container_id> /bin/bash进入容器查看文件内容,为进行数据卷的挂载提高方便

  注意:应用不同容器的版本,其相关的容器的配置文件、数据文件、日志文件在该容器的目录中可能出现位置不一致,所以要确认文件位置,在进行数据卷挂载操作

  3、依据nginx的所需的配置、日志、数据文件html文件目录:/usr/share/nginx/html、nginx.conf 配置文件:/etc/nginx/nginx.conf、default.conf 配置文件:/etc/nginx/conf.d/default.conf、log日志文件目录:/var/log/nginx、ssl配置目录:/ssl,并且给予相关权限。

  <1>挂载目录前,先要在主机上创建好 nginx 文件目录包含(配置文件夹、数据文件夹等),并且赋予访问文件夹的权限,命令如下所示:

sudo mkdir -p /home/docker/nignx-server/{log,ssl,html,conf/conf.d}
sudo chmod -R 755 /home/docker/nignx-server/html

  <2>拷贝 Nginx 主配置文件/etc/nginx/nginx.conf,主配置文件nginx.conf 包含了影响 Nginx 全局行为的命令,包括事件处理、HTTP 服务器的基本配置(如监听端口、文件路径等)、日志文件位置以及其他重要配置。通过如下命令进行拷贝(3d61f09caee9是容器nignx-server的容器id)。

docker cp 3d61f09caee9:/etc/nginx/nginx.conf /home/docker/nignx-server/conf/nginx.conf

   <3>拷贝 Nginx 额外配置文件目录:/etc/nginx/conf.d,目录用于存放 Nginx 的额外配置文件。默认情况下,nginx.conf主配置文件中包含了一个 include 指令,指向此目录下的所有 .conf 文件。

docker cp 3d61f09caee9:/etc/nginx/conf.d/default.conf /home/docker/nignx-server/conf/conf.d/default.conf

  <4>停止并删除nignx-server容器,进行后续创建挂载目录的容器,如下所示:

docker stop nginx-server
docker rm  nginx-server

  <5>通过以下命令,重新创建一个容器:

docker run --name nignx-server -d --restart=always --privileged=true 
-v /home/docker/nignx-server/html:/usr/share/nginx/html 
-v /home/docker/nignx-server/conf/nginx.conf:/etc/nginx/nginx.conf 
-v /home/docker/nignx-server/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf 
-v /home/docker/nignx-server/log:/var/log/nginx -v /home/docker/nignx-server/ssl:/ssl/  
-p 444:443 -p 81:80 nginx:latest

通过上述命令已经完成了容器创建,其中参数的表示:

-p:端口映射,冒号前为宿主机端口,冒号后为容器内的端口,即宿主机上访问 81 端口的 HTTP 请求会被交给 nginx 容器的 80 端口;

-d:后台运行容器;

--name:指定容器名称,本例中名称为 nginx-server;

--privileged=true 参数,容器内的 root 用户才拥有真正的 root 权限,否则容器内的 root 只是主机上的一个普通用户;

-v:挂载配置文件、html 目录到宿主机;冒号前为宿主机文件路径,冒号后为挂载到容器中的路径。可以看到宿主机被挂载的三个目录/文件是第一次运行时从容器内拷贝出来的;

--restart参数表示重启方式,表示总是重启容器,当宿主主机启动时候;

注意:docker cp命令进行拷贝的时候,容器的文件夹拷贝到宿主主机的文件夹,容器的文件拷贝到宿主主机的文件中,注意区分文件和文件夹!!!!

三、安装验证

   通过上述的安装步骤,可以在html中加入index.html文件,访问81端口看是否安装成功,并且编辑配置文件,看配置是否映射成功,如果OK则表示容器创建成功了,可以进行业务的开发和使用!平时注重实践和记录实践的过程和总结,减少重复性工作!!!!

posted @   tuqunfu  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示