Docker学习教程

news2024/11/25 6:30:52

学前准备

👿 Linux 基础

👿 SpringBoot 基础


文章目录

    • @[toc]
    • 1. Docker 概述
      • 1.1 docker 为什么出现
      • 1.2 Docker 容器和虚拟机的不同
      • 1.3 Docker 能做什么
    • 2. Docker 安装
      • 2.1 Docker 的组成
    • 3. Docker 命令
      • 3-1 安装Nginx
      • 3-2 安装mysql
      • 3-3 安装java ,在打包jar镜像的时候会自动下载
      • 3-4 建立文件夹,上传jar包,和配置文件
      • 3-5 建立文件夹,vue打包的dist包,配置文件
    • 4. Docker 镜像
    • 5. 容器数据
    • 6. DockerFile
    • 7. Docker 网络原理
    • 8. Docker Compose
    • 9. Docker Swarm (简化版的k8s)
    • 10. CI\CD Jenkins

1. Docker 概述

1.1 docker 为什么出现

环境影响程序的运行 , 当环境改变的时候配置新的环境费时费力.

  • docker 可以简化项目的打包 , 部署 , 上线 . 带上环境(环境镜像)
  • Docker通过隔离机制,可以将服务器利用到极致.
  • Docker是基于Go语言开发的

1.2 Docker 容器和虚拟机的不同

  1. 传统虚拟机,需要虚拟硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件;
  2. 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟硬件,更加轻便;
  3. 每个容器间相互隔离,每个容器内部都有一个属于自己的文件系统,互不影响。

1.3 Docker 能做什么

DevOps(开发、运维)

  1. 更快捷的交付和部署

传统:一堆帮助文档,安装程序

Docker: 打包镜像发布测试,一键运行。

  1. 更便捷的升级和扩缩容
  2. 更简单的系统运维
  3. 更高效的计算机资源利用

2. Docker 安装

  • Docker官网 : https://www.docker.com/

  • Docker文档 : https://docs.docker.com/

  • Docker仓库地址: https://hub.docker.com/

  • Docker安装命令: yum install docker

    1. 启动docker服务: service docker start
    2. 停止docker服务: service docker stop
    3. 重启docker服务: service docker restart
  • 查看docker版本: docker version

2.1 Docker 的组成

在这里插入图片描述

  1. 镜像(Image)

    镜像就像一个模板,可以通过模板来创建容器服务

  2. 容器(container)

    这个容器就像一个最简单的Linux系统

  3. 仓库(repository)

    仓库就是 存放镜像的地方,分为共有仓库和私有仓库.

3. Docker 命令

  • 通过docker部署一个前后端项目

3-1 安装Nginx

拉去Nginx文件

docker pull nginx

查看下载好的镜像文件

docker images

创建并运行Nginx

docker run -d --name nginx01 -p 8080:80 nginx
docker run :启动一个容器
-d:表示后台允许
--name:起一个别名
-p 8080:80:表示将本机的8080端口映射到nginx镜像的80端口

查看Nginx是否部署成功

curl localhost:8080

查看所有容器

docker ps -a

移出创建的容器

docker rm ee3ba2b76699 [ee3ba2b76699为容器id,也可以是名称(nginx01)]

运行中的容器需要先停止才能移出,停止运行中容器

docker stop nginx01

创建本地管理目录
在这里插入图片描述
启动容器的时候挂载在本地

docker run --name nginx -p 8080:80 -v /myInstall/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /myInstall/docker/nginx/www/:/usr/shart/nginx/html/ -v /myInstall/docker/nginx/logs/:/var/log/nginx/ -v /myInstall/docker/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx

3-2 安装mysql

下拉mysql镜像文件,默认下载的是

docker mysql

启动MySQL容器

docker run --name mysql8 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

开启3306端口开放

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙,
查看3306端口是否开放

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --query-port=3306/tcp

  • 然后可以通过远程的数据库软件连接

3-3 安装java ,在打包jar镜像的时候会自动下载

3-4 建立文件夹,上传jar包,和配置文件

在这里插入图片描述
在这里插入图片描述

3-5 建立文件夹,vue打包的dist包,配置文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

构建镜像,在目录下运行

docker build -t vue .

运行

docker run -d -p 8081:80 --name httpvue vue

  • 然后就可以远程访问了

在这里插入图片描述

4. Docker 镜像

5. 容器数据

6. DockerFile

7. Docker 网络原理

8. Docker Compose

9. Docker Swarm (简化版的k8s)

10. CI\CD Jenkins

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

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

相关文章

八、【React拓展】错误边界

理解 错误边界(Error boundary):用来捕获后代组件错误,渲染出备用页面 如果你的组件内写了包含子组件,一个子组件内部发生了错误就会导致整个页面挂掉(报错),限制这种错误影响其他组件(就是限制…

10-18-hive-元数据及其他方式与hive交互

10-hive-元数据及其他方式访问hive&#xff1a; 使用元数据服务的方式访问 Hive (类似将hive提供了一个服务端) 1&#xff09;在hive-site.xml 文件中添加如下配置信息 <!-- 指定存储元数据要连接的地址 --> <property> <name>hive.metastore.uris</nam…

简易的shell实现

这篇文章的内容主要是利用进程的创建&#xff0c;等待&#xff0c;终止&#xff0c;替换。这些知识来实现一个自己的简易shell。 文章目录1. 大致思路2. 基本实现3. 额外拓展3.1 让文件带上颜色3.2 内建命令3.3 添加环境变量1. 大致思路 我们用了这么长的shell&#xff0c;它…

DolphinDB 四大因子库合集

目前市场上常见两种类型的因子库&#xff1a;技术分析类和基本面类。 常用的技术分析因子库包括 TA-Lib、WorldQuant 的101 alpha、通达信的 mytt、国泰君安的191等。 基本面因子方面&#xff0c;美联储高级经济学家 Andrew Chen 及科隆大学教授 Tom Zimmermann 详细整理总结…

Hadoop原理与技术——Linus命令行基本操作

一、实验目的 Hadoop运行在Linux系统上&#xff0c;因此&#xff0c;需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作&#xff0c;为顺利开展后续其他实验奠定基础。 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验内…

IP-Guard如何判断Windows客户端是否安装成功?

1.在电脑本地打开services.msc 服务页面&#xff0c;找有没有windows helper service服务&#xff0c;该服务的可执行文件的路径中的进程是winrdgv3.exe是客户端进程。 2.cmd输入netstat -an|find "823",从输出的内容上判断是否连接上服务器连&#xff1b; 客户端开放…

Linux基础知识与实操-篇八:定期任务执行与进程任务处理

文章目录例行工作安排单一工作安排循环执行的任务注意事项唤醒停机期间的任务进程任务处理任务管理job control后台执行进程管理进程的执行顺序系统资源查看特殊文件与进程最后例行工作安排 类似于定时任务、系统安排的任务提醒等 一般在任务中&#xff0c;有两个类型&#x…

MR小区搜索(六)cell reselection

微信同步更新欢迎关注同名modem协议笔记 小区选择和小区重选都是idle态行为&#xff0c;小区重选无非是为了让UE驻留在信号状况最好的小区上&#xff0c;以便之后在connected mode获得更好的体验&#xff0c;小区重选的目标小区也要满足S准则&#xff0c;下面就来具体看下小区…

19c pdb克隆单机到rac,日志出现:WARNING报警处理

打开pdb后&#xff0c;警告日志出现 Violations: Type: 2, Count: 1 *************************************************************** WARNING: Pluggable Database PDB3 with pdb id - 3 is altered with errors or warnings. Please look into PDB_PLUG_IN_VIOLATIONS vie…

运算符-12-多学一招原码反码补码,隐式和强制转换,位运算

下面来解释这些东西是怎么来的 原码 例如&#xff1a; 最左边的叫做符号位&#xff0c;0 为正&#xff0c;1 为负&#xff0c;后面的才是具体的数值 在计算机中&#xff0c;一个 0 或者 1 所占的空间叫 bit 中文名叫比特位&#xff0c;八个 bit 就称为一个字节&#xff0c;字…

Java+Swing学生信息管理系统(含源码+论文+答辩PPT等)

该项目采用技术&#xff1a;JDBCAWTSwing集合面向对象编程等相关技术&#xff0c;项目含有源码、文档、配套开发软件、软件安装教程、项目发布教程等 项目功能介绍&#xff1a; 系统管理&#xff1a;用户登录、退出、注册 学校管理&#xff1a;设置学生学校以及联系方式等信息 …

C语言——矩阵转置

矩阵转置的原理&#xff1a;行元素变成列元素&#xff0c;列元素变成行元素 例如&#xff1a; 矩阵转置代码 #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<math.h>//矩阵转置 double** Matrix_T(double** arr) {if(arrNULL)e…

Linux服务器配置与管理(基于Centos7.2)任务目标(六)

文章目录一、实验目的&#xff1a;二、实验内容及基本要求&#xff1a;三、实训步骤一、实验目的&#xff1a; ●了解Shell脚本的概念和执行方法&#xff1b;能熟编写Shell脚本来管理系统 二、实验内容及基本要求&#xff1a; 1、使用脚本批量创建用户 2、使用脚本批量删除用…

【895. 最大频率栈】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 设计一个类似堆栈的数据结构&#xff0c;将元素推入堆栈&#xff0c;并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。void push(int val) 将一个整数 val …

MySQL索引的底层数据结构原理剖析(二叉树、 红黑树、Hash、B-Tree、B+Tree)

一. 前言 1. 说明 我们平时所说的&#xff1a;聚集索引(主键索引)&#xff0c;次要索引&#xff0c;覆盖索引&#xff0c;复合索引&#xff0c;前缀索引&#xff0c;唯一索引在MySQL5.7和 8.0版本默认都是使用BTree索引&#xff0c;除此之外还有 Hash索引。至于MySQL5.7之前版…

Go-Excelize API源码阅读(三十八)——SetCellStyle

Go-Excelize API源码阅读&#xff08;三十八&#xff09;——SetCellStyle 开源摘星计划&#xff08;WeOpen Star&#xff09; 是由腾源会 2022 年推出的全新项目&#xff0c;旨在为开源人提供成长激励&#xff0c;为开源项目提供成长支持&#xff0c;助力开发者更好地了解开源…

智慧城市运营中心建设方案(SCOC)智慧城市的心脏

一、大数据&#xff1a;智慧城市的基础与引擎 中国每天正以消失100个村庄的速度快速步入城镇化&#xff0c;未来10年内将有5亿以上的人涌入城市。这无疑会给城市的建设带来巨大的压力&#xff0c;城市资源有限&#xff0c;规模不可能无限扩张&#xff0c;城市在就业、教育、住房…

【数据库基础】数据库介绍和三大范式

数据库简介&#x1f33e;第一章 数据库简介&#x1f54a;️1.1 简介&#x1f54a;️1.2 常见数据库管理系统&#x1f54a;️1.3 三大范式&#xff08;规范&#xff09;&#x1f375;第一范式&#xff1a;&#x1f375;第二范式:&#x1f375;第三范式&#x1f33e;第一章 数据库…

实用调试技巧

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 目录什么是bug&#xff1f;调试是什么&#xff1f;有多重要&#xff1f;调试是什么调试的基本步骤debug和release的介绍windows环境调试介绍快捷键调试的时候查看程序当前…

基于51单片机六车道智能交通灯设计(仿真+源程序+PCB+论文)

资料编号&#xff1a;204 功能介绍&#xff1a;&#xff08;全套毕设资料齐全&#xff09; 本设计的交通灯以十字路口为模型&#xff0c;在实现基本的功能前提下增加了时间及温度的液晶显示。从而还增加了路口高峰期的智能化人工管理机制。 实际生活中交通信号灯的规则千变万…