linux服务器上,docker安装nginx

您所在的位置:网站首页 alpine启动服务 linux服务器上,docker安装nginx

linux服务器上,docker安装nginx

2023-06-20 12:18| 来源: 网络整理| 查看: 265

如果出现 Using default tag: latest Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=nginx&tag=latest": dial unix /var/run/docker.sock: connect: permission denied 查看 docker 命令权限问题

在远程 Linux 服务器上,使用docker 安装 Nginx ,以及对 Nginx 修改配置,在这里提供两种修改方式(目前我个人使用的是第二种方式)

创建 Nginx 服务器

获取nginx镜像列表 docker search nginx 拉取nginx镜像(注:默认选取官方最新镜像),其它版本可以去DockerHub查询 docker pull nginx 查看nginx镜像信息(使用第二种修改 Nginx 配置方式,可以从这一步开始接 修改方式二 的后续操作) docker images nginx 创建nginx容器 docker run --name nginxText -p 80:80 -d nginx

–name :指的是创建容器后的名字 -d : 指的是对应镜像名 -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口

使用docker ps命令,可以查看到正在运行的nginx容器 请添加图片描述 在浏览器访问主机,会看到nginx欢迎页,如果你是云服务器(云服务器公有 IPv4 地址),请记得开放对应的外网端口 请添加图片描述 到此Nginx容器的搭建已经完成,接下来是Nginx配置文件的修改

修改方式一:进入到nginx容器内部修改

适合改动少的情况

这里提供进入容器的方式,对应文件位置,退出容器方式。具体修改内容请根据需求调整。

进入容器内部: docker exec -it 容器名或者容器ID bash # 进入容器的命令行 例如: docker exec -it nginxText bash 进入到nginx容器内部后,我们可以切换到 /etc/nginx目录下,可以看到相关的nginx配置文件都在/etc/nginx目录下 cd /etc/nginx ls -l

请添加图片描述

nginx容器内的默认首页html文件目录在 /usr/share/nginx/html,pwd查看当前所在目录,目录下有两个nginx默认页面 cd /usr/share/nginx/html ls -l

请添加图片描述

日志文件位置在 /var/log/nginx 目录下 cd /var/log/nginx ls -l

请添加图片描述

执行exit命令退出容器

请添加图片描述 修改方式二:将nginx容器内部配置文件挂载到主机(此方式可接在下载Nginx镜像后)

将nginx容器内部配置文件挂载到主机,之后就可以在主机对应目录修改即可,适用于大部分场景。

创建Nginx配置文件 在服务器文件夹,任意自己想要的位置(一般为 /home 文件夹下的任意位置),创建Nginx配置文件目录,我这里放在 /home/ubuntu/mysoft/docker-data 文件夹下 # 创建挂载目录 mkdir -p /home/ubuntu/mysoft/docker-data/nginx/conf mkdir -p /home/ubuntu/mysoft/docker-data/nginx/log mkdir -p /home/ubuntu/mysoft/docker-data/nginx/html 创建一个容器,将创建容器时的配置,复制到上一步创建的挂载目录中 docker run --name nginxText -p 80:80 -d nginx

–name :指的是创建容器后的名字 -d : 指的是对应镜像名 -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf

docker cp [容器名/容器ID]:/容器默认配置文件地址 /粘贴文件地址

此步骤所有命令

# 生成容器 docker run --name nginx -p 80:80 -d nginx # 将容器nginx.conf文件复制到宿主机 docker cp nginx:/etc/nginx/nginx.conf /home/ubuntu/mysoft/docker-data/nginx/conf/nginx.conf # 将容器conf.d文件夹下内容复制到宿主机 docker cp nginx:/etc/nginx/conf.d /home/ubuntu/mysoft/docker-data/nginx/conf/conf.d # 将容器中的html文件夹复制到宿主机 docker cp nginx:/usr/share/nginx/html /home/ubuntu/mysoft/docker-data/nginx/ # 将容器中的日志log文件夹复制到宿主机 docker cp nginx:/var/log/nginx/ /home/ubuntu/mysoft/docker-data/nginx/log 停止并移除容器 命令: 停止容器:docker stop dbc 移除容器:docker rm dbc 再次创建一个新容器并作目录挂载 docker run \ -p 80:80 \ --name breed-web \ -v /home/ubuntu/mysoft/docker-data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/ubuntu/mysoft/docker-data/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /home/ubuntu/mysoft/docker-data/nginx/log:/var/log/nginx \ -v /home/ubuntu/mysoft/docker-data/nginx/html:/usr/share/nginx/html \ -d nginx

(建议将命令在文档中编辑好后复制,再 Shift + Insert 粘贴到 xshell)

请添加图片描述

使用 docker ps 查看,容器已经创建 在浏览器访问主机(例如:192.168.124.182:9002),会看到nginx欢迎页,如果你是云服务器(云服务器公有 IPv4 地址,例如http://51.65.205.216:9000/),请记得开放对应的外网端口

4.1(可选)单行命令模式

docker run -p 9000:80 --name breeding -v /home/ubuntu/mysoft/docker-data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/ubuntu/mysoft/docker-data/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/ubuntu/mysoft/docker-data/nginx/log:/var/log/nginx -v /home/ubuntu/mysoft/docker-data/nginx/html:/usr/share/nginx/html -d nginx 命令描述–name breeding启动容器的名字-d后台运行-p 9000:80将容器的 9000 端口映射到主机的 80 端口-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf挂载nginx.conf配置文件-v /home/nginx/conf/conf.d:/etc/nginx/conf.d挂载nginx配置文件-v /home/nginx/log:/var/log/nginx挂载nginx日志文件-v /home/nginx/html:/usr/share/nginx/html挂载nginx内容nginx指的是对应镜像名\shell 命令换行 设置开机启动nginx docker update breeding --restart=always

breeding 为容器名称

修改html文件,查看是否生效 将 /home/ubuntu/mysoft/docker-data/nginx/html/index.html 文件下载下来,修改了标题,再传入到/home/ubuntu/mysoft/docker-data/nginx/html 文件夹下,覆盖之前的 index.html 文件,重启容器刷新页面。 # 重启容器 docker restart breeding

请添加图片描述

附件1: 容器命令

docker ps # 查看正在运行的容器 docker ps -a # 查看所有容器 docker ps -l # 查看最近一次运行的容器 docker create 容器名或者容器ID # 创建容器 docker start [-i] 容器名 # 启动容器 docker run 容器名或者容器ID # 运行容器,相当于docker create + docker start docker attach 容器名或者容器ID bash # 进入容器的命令行(退出容器后容器会停止) docker exec -it 容器名或者容器ID bash # 进入容器的命令行 docker stop 容器名 # 停止容器 docker rm 容器名 # 删除容器 docker top 容器名 # 查看WEB应用程序容器的进程 docker inspect 容器名 # 查看Docker的底层信息

后续问题: Nginx 中部署 React 项目刷新或输入url后404

参考: Docker 安装 Nginx 容器 (完整详细版) 使用docker安装nginx docker快速安装nginx以及实现反向代理(上)

其他: Docker 日常命令大全(完整详细版)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3