docker学习系列5 nginx 容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本节通过学习 docker 的 nginx 镜像,容器的使用。以及如何映射文件。运行容器docker run --name my-nginx -d -p 8088:80 --rm nginx:1.

本节通过学习 docker 的 nginx 镜像,容器的使用。以及如何映射文件。

  1. 运行容器
    docker run --name my-nginx -d -p 8088:80 --rm nginx:1.15
    -d:在后台运行
    -p :容器的80端口映射到 宿主机的 8088
    --rm:容器停止运行后,自动删除容器文件
    --name:容器的名字为 my-nginx
img_7870cd42f5e2b3eed9076813dcb5e8ec.png
image.png

docker run 其实等于 docker create + start
因为tag为 1.15 的 nginx 镜像并不在本地,会先下载再运行

浏览器打开 locahost:8088 就能看到默认页面了

  1. 官方推荐通过 Dockerfile 的方式制作镜像并运行容器

新建static-pages目录,结构如下:
static-pages
-- index.html
-- Dockerfile

index.html

<h1>Hello World</h1>

Dockerfile

FROM nginx:1.15
COPY . /usr/share/nginx/html

切换到Dockerfile所在路径

制作镜像 docker build -t my-nginx .,名称为 my-nginx,完整镜像名格式是:name:tag
参见 文档

img_da35bc251c6cd27161672686546b2c24.png
image.png

根据镜像运行一个容器
docker run --name my-nginx -d -p 8088:80 my-nginx:latest
浏览器打开 locahost:8088 就能看到 hello-world 了

3.如果要修改nginx配置文件,我们把容器里面的 Nginx 配置文件拷贝到本地的当前目录。
执行 docker container cp my-nginx:/etc/nginx .
不要漏掉最后那个点。执行完成后,当前目录应该多出一个nginx子目录。
修改Dockerfile

FROM nginx:1.15
COPY index.html /usr/share/nginx/html
COPY nginx /etc/

然后修改 static-pages\nginx\conf.d\default.conf

server {
    listen       80;
    server_name  ng.test;

C:\Windows\System32\drivers\etc\HOSTS
需要添加 127.0.0.10 ng.test 保持和localhost一致即可
重新制作镜像 docker build -t my-nginx:ng-test .
运行容器 docker run -d -p 80:80 my-nginx:ng-test 注意我映射的端口不再是8088,这样
本地浏览器就能访问 ng.test 了

停止容器:
先 docker ps 获取容器ID,比如是 934f93002018
然后 docker stop 934f93002018

相关文章
|
9月前
|
缓存 负载均衡 应用服务中间件
Nginx 学习
【10月更文挑战第17天】Nginx 是一款非常强大的工具,掌握它的使用和配置对于构建高性能、可靠的 Web 应用至关重要。随着技术的不断发展,Nginx 也在不断更新和完善,为我们提供更好的服务和支持。
164 59
|
6月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
550 25
|
9月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
365 5
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
9月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
145 2
k8s学习--YAML资源清单文件托管服务nginx
|
9月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1091 3
|
9月前
|
存储 Ubuntu Linux
学习docker
学习docker
99 1
|
9月前
|
运维 Kubernetes 开发者
Docker Swarm学习
【10月更文挑战第5天】
125 3
|
9月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
445 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
9月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
98 4
|
9月前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
107 1