Docker | 部署nginx服务

简介: Docker | 部署nginx服务

1、下载nginx镜像


docker pull nginx


2、查看下载的镜像


docker ps


3、启动nginx镜像


docker run -d --name nginx01 -p 3344:80 nginx(镜像名或者镜像id)

image.png


4、查看启动的nginx


docker ps


5、访问启动的nginx


在云服务器内使用 curl 测试访问


curl localhost:3344

image.png


5.1、linux开放防火墙端口


firewall-cmd位于firewalld包中

systemctl位于systemd包中


安装防火墙工具:


yum install firewalld systemd -y


常用命令:


# 查看firewall(防火墙)服务状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#重启防火墙
service firewalld  restart
#关闭防火墙
service firewalld  stop
#查看防火墙规则
firewall-cmd --list-all     #查看全部信息
firewall-cmd --list-ports     #只看端口信息
#添加防火墙开放端口
firewall-cmd --add-port=8001/tcp --permanent
or
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令含义:
  --zone          #作用域(public标识公共的)
  --add-port=80/tcp   #添加端口, 格式为:端口/通讯协议
  --permanent       #永久生效,没有此参数重启后失效
# 不要忘记reload!
firewall-cmd --reload


5.2、阿里云服务器需要配置安全组规则


配置完之后就可以在浏览器访问公网ip+3344端口号查看了


5.3、原理


端口暴露,linux端口映射到容器端口

0.0.0.0:3344->80/tcp

image.png


6.进入nginx容器


docker exec -it 0a7ebd6bc291 /bin/bash
root@0a7ebd6bc291:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@0a7ebd6bc291:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@0a7ebd6bc291:/# cd /etc/nginx/
root@0a7ebd6bc291:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@0a7ebd6bc291:/etc/nginx# 


问题探索


每次改动nginx配置,都需要进入容器内部修改,十分麻烦,能否在容器外部提供一个映射路径,达到修改配置文件,容器内部就会自动修改?


数据卷技术

nginx.conf配置文件,注意Nginx默认是后台运行的,但Docker需要其在前台运行,否则直接退出容器。配置文件中添加daemon off;关闭后台运行。可以通过Dockerfile配置CMD命令实现

感谢阅读,本篇完,数据卷技术下文继续分享!


目录
相关文章
|
1天前
|
存储 网络协议 文件存储
如何使用Docker本地部署Traefik并实现公网访问内网服务
如何使用Docker本地部署Traefik并实现公网访问内网服务
|
1天前
|
Docker 容器
【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)
【开发问题记录】启动某个服务时请求失败(docker-componse创建容器时IP参数不正确)
8 1
|
5天前
|
测试技术 数据安全/隐私保护 Docker
Docker部署开源项目Django-CMS企业内容管理系统
【5月更文挑战第20天】Docker部署开源项目Django-CMS企业内容管理系统
15 1
|
5天前
|
Java 关系型数据库 Docker
docker打包部署spring boot应用(mysql+jar+Nginx)
docker打包部署spring boot应用(mysql+jar+Nginx)
|
6天前
|
监控 Cloud Native 持续交付
云原生之使用Docker部署Magma导航页
【5月更文挑战第19天】云原生之使用Docker部署Magma导航页
25 0
|
6天前
|
Java Maven Docker
Docker化Spring Boot3应用:从镜像构建到部署
本文介绍了如何在Linux上通过命令行构建和运行Spring Boot 3服务的Docker镜像。首先,基于Ubuntu创建包含JDK 21的基础镜像,然后使用Maven打包Spring Boot应用。接着,构建服务镜像,将应用和依赖添加到镜像中,并设置工作目录和暴露端口。最后,利用docker-compose部署服务,挂载宿主机目录以方便更新静态文件。Docker简化了应用部署,确保了不同环境的一致性。
49 2
Docker化Spring Boot3应用:从镜像构建到部署
|
7天前
|
Cloud Native 搜索推荐 测试技术
云原生之使用Docker部署homarr个人导航页
【5月更文挑战第18天】云原生之使用Docker部署homarr个人导航页
34 1
|
8天前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
45 8
|
5月前
|
JavaScript 应用服务中间件 nginx
|
13天前
|
应用服务中间件 nginx Docker
docker安装nginx
`docker search`找镜像,`pull`下载,后台 `-d` 运行容器,命名 `--name`,映射端口 `-p`。本机测试,确保服务器安全组开放端口,公网通过`http://ip:port`访问。用`docker stop id`停止容器。[查看详情](https://blog.csdn.net/javayoungcoolboy/article/details/134976510)