【500强 Kubernetes 课程】第3章 运行docker容器

news2025/2/26 14:11:57

一 - 三 ,docker基础操作见 第2章7节

四、docker部署web网站

1、安装 nginx (适合场景:学习 - 略)

2、docker 安装 nginx

Stage 1 :docker hub 上 搜索 nginx 镜像

Stage 2:拉取官方镜像

Stage 3:创建Nginx 挂载目录

 Stage 4:创建容器 nginx

Stage 5:将所需文件在容器中复制出来

Stage 6:停止容器,并删除

Stage 7:启动容器(挂载)

Stage 8:测试访问

3、docker-compose 安装 nginx (推荐)

Stage 1:创建如下目录结构

Stage 2:配置文件 - nginx.conf

Stage 3:docker-compose.yaml

Stage 4:运行 docker-compose up -d 安装


一 - 三 ,docker基础操作见 第2章7节

四、docker部署web网站

1、安装 nginx (适合场景:学习 - 略

        docker用centos镜像创建容器,然后在容器中安装nginx

2、docker 安装 nginx

Stage 1 :docker hub 上 搜索 nginx 镜像

docker search nginx

Stage 2:拉取官方镜像

docker pull nginx

Stage 3:创建Nginx 挂载目录

        Nginx需要频繁的修改,所以将需要的文件挂载出来最合适

// 先创建nginx目录(以下是示例路径)
[root@192 ~]# mkdir nginx
[root@192 ~]# cd nginx/

// 创建配置文件挂载
[root@192 nginx]# mkdir conf

// 创建静态文件挂载
[root@192 nginx]# mkdir html

// 创建日志文件挂载
[root@192 nginx]# mkdir log

// 列出目录
[root@192 nginx]# ls
conf  html  log

 Stage 4:创建容器 nginx

// 列出镜像
[root@192 nginx]# docker images

// 启动容器 注意 -d 镜像名称:版本
[root@192 nginx]# docker run -d docker.io/nginx:1.25

Stage 5:将所需文件在容器中复制出来

        因为挂载时,如果宿主机挂载目录为空,则可能会将容器中挂载的目录给覆盖

//将容器nginx.conf文件复制到宿主机
[root@192 nginx]# docker cp 容器id:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf

//将容器conf.d文件夹复制到宿主机
[root@192 nginx]# docker cp 容器id:/etc/nginx/conf.d /root/nginx/conf/conf.d

//将容器静态文件夹html复制到宿主机
[root@192 html]# docker cp 容器id:/usr/share/nginx/html/ /root/nginx

Stage 6:停止容器,并删除

// 停止容器,ce869a为容器id
[root@192 html]# docker stop 容器id/容器名

//删除容器
[root@192 html]# docker rm 容器id/容器名

Stage 7:启动容器(挂载)

docker run -d -p 80:80 --name nginx --privileged --restart always -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.con -v /root/nginx/conf/conf.d:/etc/nginx/conf.d -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/log:/var/log/nginx docker.io/nginx:1.25
 

-d:后台运行
-p:将主机端口80和容器端口80绑定,
–name:容器命名
–privileged:容器获得对主机上设备的直接访问权限
–restart always:设置开机自动重启
-v:挂载目录,格式 主机目录 :容器目录

Stage 8:测试访问

3、docker-compose 安装 nginx (推荐

Stage 1:创建如下目录结构

Stage 2:配置文件 - nginx.conf

user root;
worker_processes auto;
pid /run/nginx.pid;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";

	include /etc/nginx/conf.d/*.conf;

	server {
		listen       8080;
		server_name  0.0.0.0;

		location / {
			root   html/backstage/;
			try_files $uri /index.html;
			index  index.html index.htm;
		}
	}
}

 

Stage 3:docker-compose.yaml

version: '3.1'

services:
  nginx:
    restart: always
    container_name: nginx
    image: nginx:1.17.6
    ports:
      - 8082:8080
      - 8000:8000
      - 8081:8081
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/nginx-log:/var/log/nginx
      - ./nginx/html:/etc/nginx/html
    deploy:
      resources:
        limits:
          memory: 500M
        reservations:
          memory: 200M

 

Stage 4:运行 docker-compose up -d 安装

# 进入目录下
cd /mnt/docker/nginx

# docker-compose 安装nginx
docker-compose up -d 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1214738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源】基于微信小程序、Vue和SpringBoot的智慧家政系统

项目编号: S 063 ,文末获取源码。 \color{red}{项目编号:S063,文末获取源码。} 项目编号:S063,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询家政服…

软件自动化测试代码覆盖率

在<professional software testing with visual studio 2005 team system tools for software developer>中提到了代码覆盖率&#xff0c;我很久没有去书店了&#xff0c;不知道是不是出了新的版本&#xff0c;觉得书里面关于代码覆盖率方面的知识有些地方没有讲&#xf…

wpf devexpress数据统计

GridControl允许显示总结信息关于单个数据行分组。例如&#xff0c;你可以显示记录数量&#xff0c;最小和最大值。这个统计信息可以叫做数据统计。 创建统计 GridControl 支持总结和分组统计&#xff1a; 总结统计 - 一个总结函数值计算对于所有列和视图显示统计面板和固定统…

04.智慧商城——短信验证码倒计时、登录请求、响应拦截器统一处理、请求loading效果

01. 短信验证倒计时功能 (1) 倒计时基础效果 准备 data 数据 data () {return {totalSecond: 60, // 总秒数second: 60, // 倒计时的秒数timer: null // 定时器 id} },给按钮注册点击事件 <button click"getCode">{{ second totalSecond ? 获取验证码 : s…

Go 使用Viper处理Go应用程序的配置

在开发Go应用程序时&#xff0c;处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库&#xff0c;可以帮助我们处理这些配置。 什么是Viper&#xff1f; Viper是一个应用程序配置解决方案&#xff0c;用于Go应用程序。它支持JS…

Go fsnotify简介

fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制&#xff0c;例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API&#xff0c;例如Linux上的inotify&#xff0c;macOS上的FSEvents&#xff0c;以及Windows上的ReadDirec…

220V交流转直流的简易电源设计

220V交流转直流的简易电源设计 设计简介设计原理电路图变压器电路交流转直流电路3.3V电源接口电路 PCB3D图 实践检验 设计简介 通过模拟电路的相关知识&#xff0c;尝试将220V的交流电转化为我们指定电压的直流电。 设计原理 将220V交流电转化为直流电的方法常用的有通过变压器…

(四)什么是Vite——冷启动时vite做了什么(源码、middlewares)

vite分享ppt&#xff0c;感兴趣的可以下载&#xff1a; ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录&#xff1a; &#xff08;一&#xff09;什么是Vite——vite介绍与使用-CSDN博客 &#xff08;二&#xff09;什么是Vite——Vite 和 Webpack 区别&#xff0…

IO流回顾与装饰者模式

目录 代码图示原理 代码 // 初始化服务器System.out.println("初始化服务器");ServerSocket serverSocket new ServerSocket(8087);System.out.println("服务器初始化成功");// 监听服务器Socket accept serverSocket.accept();System.out.println("…

vue-vuex详解

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-vuex详解 目录 Vuex 1.vuex是什么&#xff1f; 2.vuex核心概念 3.vuex模块化 4. Vuex中ac…

【Java 进阶篇】JQuery 动画:为页面添彩的魔法

在现代的Web开发中&#xff0c;用户体验的提升是至关重要的一环。而动画作为页面交互中的重要组成部分&#xff0c;更是为用户带来了全新的感官体验。本篇博客将深入探讨 JQuery 中动画的应用&#xff0c;带你进入一个充满活力的前端世界。 前言 动画是网页设计的一种重要手段…

YOLO目标检测——树叶检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;生物多样性研究、林业管理、环境监测和教育科研等方面数据集说明&#xff1a;树叶分类检测数据&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;总共十个类别。标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标…

力扣刷题篇之数与位1

系列文章目录 目录 系列文章目录 前言 一、进制转换 总结 前言 本系列是个人力扣刷题汇总&#xff0c;本文是数与位。刷题顺序按照[力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 - 力扣&#xff08;LeetCode&#xff09; 一、进制转换 67. 二进制求和 - 力扣&…

(免费领源码)Java#SpringBoot#mysql高校实验室资产管理系统85189-计算机毕业设计项目选题推荐

摘 要 随着计算机技术的发展&#xff0c;特别是计算机网络技术与数据库技术的发展&#xff0c;使人们的生活与工作方式发生了很大的改观。本课题研究的高校实验室资产管理系统&#xff0c;主要功能模块包括后台首页&#xff0c;轮播图&#xff0c;公告管理&#xff0c;资源管理…

一看就会的jni,不会你来打我!

环境配置 Android Studio&#xff0c;这个不多说了。 简单说一下NDK的下载和环境变量&#xff0c;方便在Terminal里使用命令(mac版)。 下载 1.可以通过Android Studio内置的Settings-Android SDK-SDK Tools安装NDK&#xff0c;下载目录为 /Users/mac-xxx(Username)/Library…

服务号可以升级为订阅号吗

服务号和订阅号有什么区别&#xff1f;服务号转为订阅号有哪些作用&#xff1f;在推送频率上来看&#xff0c;服务号每月能推送四条消息&#xff0c;而订阅号可以每天&#xff08;24小时&#xff09;推送一条消息。如果企业开通公众号的目的是提供服务&#xff0c;例如售前资讯…

WPS文件丢失如何恢复?4个方法教你快速恢复!

“在WPS里保存了一些比较重要的文档&#xff0c;由于某些原因导致文件丢失了&#xff0c;这种情况下&#xff0c;还有办法成功恢复WPS文件吗&#xff1f;” WPS Office是许多用户在电脑上创建和编辑文档的首选工具。然而&#xff0c;有时文件会意外丢失&#xff0c;可能是由于误…

Linux_在命令行中以树状结构显示目录_tree

1、安装tree命令 使用tree命令&#xff0c;可以在命令行中以树状结构显示目录&#xff0c;当你想知道一个路径下文件的结构时十分方便&#xff0c;还有别的选项功能&#xff0c;下面会介绍其中的一些&#xff0c;完整的介绍Linux命令 - tree—LZL在线工具。 sudo apt updates…

头部厂商Q3交付量环比下滑!激光雷达,现实很骨感

由于中国自主品牌车企在高阶智驾赛道上的激进策略&#xff0c;全球激光雷达行业的走势&#xff0c;也无疑受到中国市场的影响。 本周&#xff0c;禾赛科技发布2023年度三季报&#xff0c;季度激光雷达交付量为47,440台&#xff0c;同比增长125.5%&#xff0c;其中ADAS激光雷达交…

mysql---主从复制和读写分离

主从复制 主从复制&#xff0c;修改&#xff0c;表里的数据&#xff1a;主mysql上的数据&#xff0c;新增都会同步到从mysql上面试题&#xff1a;mysql的主从复制的模式&#xff1a; 1、异步复制&#xff1a;mysql的默认复制就是异步复制。只要执行完之后&#xff0c;客户端提…