首页 > 系统相关 >Docker 安装 Nginx 容器 (完整详细版)

Docker 安装 Nginx 容器 (完整详细版)

时间:2023-05-22 15:56:28浏览次数:46  
标签:容器 nginx Nginx conf home Docker docker

说明:
Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。

Docker官方镜像

1、寻找Nginx镜像

 

2、下载Nginx镜像

 

检查当前所有Docker下载的镜像

docker images

3、创建Nginx配置文件

启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf)
之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件
当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果 。

# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

容器中的nginx.conf文件和conf.d文件夹复制到宿主机

# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/

4、创建Nginx容器并运行

Docker 创建Nginx容器

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx

 

docker run \
-p 9002:80 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

  

 

单行模式

docker run -p 9002:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

5、结果检测

6、修改内容进行展示

 

# 重启容器
docker restart nginx

  

 

标签:容器,nginx,Nginx,conf,home,Docker,docker
From: https://www.cnblogs.com/msjhw/p/17420830.html

相关文章

  • 理论+实操,带你了解多沙箱容器运行时Kuasar
    摘要:华为云DTSE技术布道师张天阳结合沙箱容器发展历程,介绍华为云多沙箱容器运行时Kuasar项目优势,开启多沙箱容器运行时上手实践体验。本文分享自华为云社区《理论+实操,带你了解多沙箱容器运行时Kuasar》,作者:华为云社区精选。本期《多沙箱容器运行时Kuasar开发上手实践》主题直......
  • docker容器实现Nginx的负载均衡
    准备tomcat  nginx容器: 主机192.168.8.8.200 mkdirwww1mkdirwww2cdwww1[root@localhostwww1]#viindex.jsp//创建文件,写入如下内容<html><head><title>Tomcat1</title></head><body> <%......
  • Kubernetes 初始化容器及静态Pod和Pod调度策略
    初始化容器kubernetes1.3版本引入了initcontainer初始化容器特性。主要用于在启动应用容器(appcontainer)前来启动一个或多个初始化容器,作为应用容器的一个基础。#查看要修改的内核参数[root@kmaster~]#sysctl-a|grepvm.overcommit_ratiovm.overcommit_ratio=50#输......
  • 云原生之使用Docker部署RabbitMQ消息中间件
    (云原生之使用Docker部署RabbitMQ消息中间件一、RabbitMQ介绍1.RabbitMQ简介RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全不同的应用之间共享数据。2.RabbitMQ特点开源、性能优秀,稳定......
  • nginx+tomcat+pgsql+redis离线部署过程
    gccpcre-developenssl-develzlib-devel离线安装包:包含云盘地址.txt离线部署java+nginx+tomcat+pgsql+redis.zip:城通网盘:https://url86.ctfile.com/f/15666686-859830438-baa3a9?p=2048(访问密码:2048)阿里云网盘(城通速度慢可以选这个):https://www.aliyundrive......
  • Ubuntu 18.04 BST -- Docker 命令
    一、查看DockerIP进入Docker  l@l-VirtualBox:~/sdk-a1000-docker/BST-HS-Linux-SDK-<Version>/sdk/SDK-Docker-fad-<Version>$sudo./run_docker.sha1000b-sdk-fad-<Version>...sdkdockerimg:a1000b-sdk-fad-2.3.0.4.tarstartloadsdkversionima......
  • 使用docker安装postgresql
    在Docker中安装PostgreSQL的详细步骤:首先,确保你已经安装了Docker。如果没有,请按照Docker官方文档的说明进行安装。打开终端并输入以下命令来搜索PostgreSQL映像:dockersearchpostgres选择一个适合你需要的映像并使用以下命令下载它:dockerpull[postgres-image-name]其中......
  • Docker介绍和安装
    一、准备安装环境1)创建虚拟机安装vmware软件。安装secureCRT或者xshell软件。下载centos7.6地址:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso创建虚拟机。网络为nat模式。2)配置网络修改网卡:/etc/sysconfig/network-scripts/if......
  • Openresty 学习笔记(二)Nginx Lua 正则表达式相关API
    ngx.re.match语法: captures,err=ngx.re.match(subject,regex,options?,ctx?,res_table?)环境: init_worker_by_lua*,set_by_lua*,rewrite_by_lua*,access_by_lua*,content_by_lua*,header_filter_by_lua*,body_filter_by_lua*,log_by_lua*,ngx.timer.*,balancer......
  • Dockerfile练习二---------------------------构建自己的mysql镜像
    构建自己的mysql镜像 ##NYSQL的shell安装脚本##[root@dockertomcat]#cd~[root@docker~]#mkdirmysql[root@docker~]#cdmysql/[root@dockermysql]#vimrun.sh#!/bin/bashyum-yinstall\ncurses\ncurses-devel\bison\cmake\make\gcc\gcc-c++cd/optcdmysql-5......