centos安装docker nginx

本文描述了如何快速搭建Dockernginx,包括下载镜像并启动临时容器获取配置文件,然后将配置文件复制到外部并创建一个重启始终且挂载外部目录的正式容器,最终验证成功运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、下载image,启动容器

 二、将容器的配置文件copy到外部

 三、创建正式容器


记一次快速、简单地搭建docker nginx

一、下载image,启动容器

1.直接run  自动pull image:

docker run -p80:80 --name nginx -d nginx

注:这一步我们只是要期中的配置文件,所以随便创建一次容器

docker ps 查看已经OK了

 二、将容器的配置文件copy到外部

1.在外部新建三个文件夹用来挂载,这三个文件我放在/data/nginx下,可以修改成自己的目录

mkdir -p /data/nginx/html

mkdir -p /data/nginx/logs

mkdir -p /data/nginx/conf

注:也可以使用工具xftp(利用好工具省事实力)

 2.将容器内nginx的配置文件 copy至 外部conf

docker container cp nginx:/etc/nginx /data/nginx/conf/

mv /data/nginx/conf/nginx/* /data/nginx/conf/

rm -rf /data/nginx/conf/nginx

 三、创建正式容器

1.停止删除旧容器

docker stop nginx

docker rm nginx

2.创建正式容器

docker run -p 80:80 --restart=always --name nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/conf/:/etc/nginx \
-d nginx

 3.最后访问出现 nginx/{version} 成功!

### 安装和配置 Nginx 为了在 CentOS 7 上通过 Docker 容器安装和配置 Nginx,可以按照如下方法操作: #### 创建并运行 Nginx 容器 启动一个新的基于官方 Nginx 镜像的容器,并将主机上的9080端口映射到容器内的80端口[^2]。 ```bash docker run -it --name my_nginx -p 9080:80 nginx:latest /bin/bash ``` 此命令会拉取最新的 Nginx 镜像(如果本地不存在的话),然后创建一个名为 `my_nginx` 的新容器实例,在前台模式下执行 `/bin/bash` 命令以便进入交互式的 Bash shell 环境。不过对于仅需运行 Nginx 而言,通常不需要进入 bash,可以直接使用 `-d` 参数让容器以后台守护进程的方式运行: ```bash docker run -d --name my_nginx -p 9080:80 nginx:latest ``` 这将会使容器作为后台服务持续运行,而无需保持终端连接。 #### 测试 Nginx 是否正常工作 一旦容器成功启动之后,可以通过访问 http://localhost:9080 来验证 Web 页面是否能够正确加载默认欢迎页面。此时应该能看到由 Nginx 提供的标准 HTML 文档。 #### 自定义 Nginx 配置文件和服务内容 要修改 Nginx 行为或者托管自定义网站,则需要挂载宿主机目录至容器内部特定路径来覆盖默认设置或放置静态资源文件。例如,假设有一个包含个人站点资料的文件夹位于 `/path/to/html` ,那么可以在启动容器时指定卷选项将其共享给目标位置 `/usr/share/nginx/html` : ```bash docker run -d --name my_custom_site \ -v /path/to/html:/usr/share/nginx/html \ -p 9080:80 \ nginx:latest ``` 这样做的好处是可以随时更新外部存储中的文档而不必重建整个镜像;同时也方便调试过程中快速迭代更改后的网页样式或其他前端逻辑。 #### 使用 Docker Compose (可选) 当项目变得复杂起来涉及多个相互依赖的服务组件时,推荐采用更高级别的编排工具如 Docker Compose 。它允许用户在一个 YAML 文件里描述多层架构的应用程序拓扑结构以及各部分之间的关系。下面是一个简单的例子展示如何利用 compose 描述两个关联紧密的服务——web 和 db ——其中 web 就是指向我们之前提到过的那个 Nginx 实例[^3]: ```yaml version: '3' services: web: image: nginx:latest ports: - "9080:80" volumes: - ./html:/usr/share/nginx/html db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example ``` 保存上述内容到当前目录下的 `docker-compose.yml` 文件后即可一键构建并管理集群化应用生态系统了!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值