容器docker部署nginx

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: docker内部署nginx是容器内的服务

容器时相互隔离的,docker启动的nginx是容器内的服务,不影响我原先服务器上的nginx服务,小伙伴们可大胆尝试

本篇实在linux环境下操作的,主要目的是夺人眼目,对使用Docker部署服务尝鲜,先体会一下Docker的便捷之处。

1、下载nginx镜像

  1. docker pull nginx

2、查看下载的镜像

  1. docker ps

3、启动nginx镜像

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

4、查看启动的nginx

  1. docker ps

5、访问启动的nginx

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

  1. curl localhost:3344

5.1、linux开放防火墙端口

firewall-cmd位于firewalld包中

systemctl位于systemd包中

安装防火墙工具:

  1. yum install firewalld systemd -y

常用命令:

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

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

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

5.3、原理

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

0.0.0.0:3344->80/tcp

6.进入nginx容器

  1. docker exec-it 0a7ebd6bc291/bin/bash
  2. root@0a7ebd6bc291:/# ls
  3. 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
  4. root@0a7ebd6bc291:/# whereis nginx
  5. nginx:/usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
  6. root@0a7ebd6bc291:/# cd /etc/nginx/
  7. root@0a7ebd6bc291:/etc/nginx# ls
  8. conf.d fastcgi_params mime.types  modules  nginx.conf  scgi_params  uwsgi_params
  9. root@0a7ebd6bc291:/etc/nginx#

问题探索

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

数据卷技术

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

相关文章
|
22天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
90 0
|
5天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
11 0
|
7天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
14天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0
|
14天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
25 0
|
14天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
26 0
|
18天前
|
应用服务中间件 nginx Docker
docker实现Nginx
通过以上步骤,你可以使用Docker来快速搭建并运行Nginx服务器,而且可以根据需要进行自定义配置和持久化数据。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
14 1
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
1月前
|
Oracle 关系型数据库 数据库
|
23天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
28 1