cainiao-chuanqi

Docker学习笔记01

狂神B站视频链接:https://www.bilibili.com/video/BV1og4y1q7M4

Docker学习

  1. Docker的概述

  2. Docker的安装

  3. Docker的命令

    1. 镜像命令

    2. 容器命令

    3. 操作命令

    4. 。。。

  4. Docker镜像

  5. 容器数据卷

  6. DockerFile

  7. Docker网络原理

  8. IDEA整合Docker

  9. Docker Compose\'

  10. Docker Swarm

  11. CI\CD Jenkins

Docker概述

Docker为什么会出现?

开发--线上,应用环境和业务环境--》自己的环境

需要各种环境配置

发布项目(包括各种环境),项目和环境一起打包迁移。

有些开发环境与其他环境不能跨平台。

传统:jar包--》运维去部署

现在:开发--打包部署上线,一套流程做完。

Docker解决上面带来的问题

java-- apk -- 发布(应用商店) --使用APK --安装即可

java --jar (环境)-- 打包项目带上环境(镜像)--(Docker仓库:商店)--下载我们发布的镜像--直接允许即可(镜像机制)

Dockerd的思想就来自于集装箱!

JRE-- 多个应用(端口冲突)--原来都是交叉的

隔离:Docker的核心思想!打包装箱!每个箱子都是相互隔离的

Docker通过隔离机制,可以将服务器利用到极致.

本质:所有的技术都是因为出现了问题,我们需要去解决,漕渠学习

Docker的历史

2010,几个IT年轻人,成立一家dotCloud

做一些pass的云计算服务!LXC有关的容器技术!

Vmware的应用--笨重--

他们将自己的技术(容器化技术)命名, 就是Docker!

Docker刚刚诞生的时候并没有引起行业的注意,dotCloud!--活不下去

开源

开发源代码

2013年,Docker开源

Docker越来越多的人发现的Docker的优点! 火力,Docker每个月都会更新一个版本.

2014年4月9号,Docker 1.0发布!

Docker为啥这么火, 十分轻巧

在容器技术出来之前,我们使用的都是虚拟机技术.

虚拟机:在windows中装一个Vmware,通过在这个软件上虚拟出来一个单独的电脑!相当与一个真实的电脑!笨重!

虚拟机也是一种虚拟化技术,Docker容器技术,也是虚拟化技术

 VM:linux centos原生镜像(一个电脑)  隔离,需要开启多个虚拟机 几个G 几分钟
 docker:隔离,镜像(最核心的环境 4m+jdk + mysql )十分的小巧,运行镜像即可 小巧 各个M KB 秒级启动

聊聊Docker

Docker 是基于GO语言开发的,开源项目

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

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

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

Docker可以做什么

之前的虚拟机:

缺点:

  1. 资源占用非常多

  2. 冗余步骤多

  3. 启动很慢

容器化技术

比较Docker和虚拟机技术的不同

  1. 传统的虚拟机,虚拟出来一套硬件,运行一个完整的操作系统,软后在系统上安装和运行软件

  2. 容器内的应用直接运行在 宿主机上,容器是没有自己的内核,也没有虚拟的我们的硬件,所以就轻便了

  3. 每个容器间,是相互隔离的,每一个容器都有一个属于自己的文件系统,互不影响

DevOps(开发 运维)

应用跟快速的交付和部署

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

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

跟边界的升级和缩容

使用Docker之后,我们部署应用就像搭积木一样

项目打包一个镜像,扩展 服务器A 服务器B

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度是一致的

跟高效的计算资源利用

Docker是 内核级别的虚拟化,可以在一个物理机上可以运行很多个容器实例,服务器的性能可以被压榨到极致

Docker的安装

Docker的基本组成

镜像(image):

docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像>run>tomcat01容器(提供服务的),通过这个镜像可以创建多个容器(最终服务运行或者项目就在容器中运行)

容器(container)

Docker利用容器技术,独立运行一个或者多个组应用,通过镜像来创建

启动,停止,删除,基本命令

目前就可以把这个容器理解为一个简单的Linux系统

仓库(repositor)

仓库就是存放镜像的地方!

仓库分为共有仓库和私有仓库

Docker Hub(默认是国外的)

阿里云...都有容器服务器(配置镜像加速 ! )

安装Docker

环境的准备

  1. 需要会一点点的Linux基础

  2. Centos的基础

  3. 使用MobaXterm连接服务器进行操作!

环境的查看

 # 系统的内核是3.10以上的
 [root@localhost ~]# uname -r
 3.10.0-327.el7.x86_64 
 #系统的版本
 [root@localhost ~]# cat /etc/os-release
 NAME="CentOS Linux"
 VERSION="7 (Core)"
 ID="centos"
 ID_LIKE="rhel fedora"
 VERSION_ID="7"
 PRETTY_NAME="CentOS Linux 7 (Core)"
 ANSI_COLOR="0;31"
 CPE_NAME="cpe:/o:centos:centos:7"
 HOME_URL="https://www.centos.org/"
 BUG_REPORT_URL="https://bugs.centos.org/"
 ​
 CENTOS_MANTISBT_PROJECT="CentOS-7"
 CENTOS_MANTISBT_PROJECT_VERSION="7"
 REDHAT_SUPPORT_PRODUCT="centos"
 REDHAT_SUPPORT_PRODUCT_VERSION="7"

安装

帮助文档:https://docs.docker.com/engine/install/centos/

安装文档:https://blog.csdn.net/weixin_39477597/article/details/87715899

确定是Centos7以上的版本

yum安装gcc环境(需要确保虚拟机可以上外网)

yum -y install gcc
yum -y install gcc-c++
#Step1.检查是否安装过 docker :yum list installed|grep docker 
 #使用命令 yum -y remove docker-ce.x86_64  卸载
 #删除存储目录
 # rm -rf /etc/docker
 # rm -rf /run/docker
 # rm -rf /var/lib/dockershim
 # rm -rf /var/lib/docker
 #Step2. 使用命令 uname-r 检查centOs的内核版本 docker要求centOs的内核版本在3.10 以上
 #Step3. 移除旧版本:sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
 #Step4. 安装必要的系统工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#1.卸载旧的版本
  sudo yum remove docker \
                   docker-client \
                   docker-client-latest \
                   docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-engine
 #2.需要安装的安装包
  sudo yum install -y yum-utils
  
 #3.设置镜像的仓库(国外)
  sudo yum-config-manager \
     --add-repo \
     https://download.docker.com/linux/centos/docker-ce.repo  #默认是国外的
   
 sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #推荐使用国内的镜像资源.比较快
#建议事先 更新yum 的软件包的索引
 [root@localhost ~]# yum makecache fast
#4.安装docker相关的引擎 docker-ce 社区 ee企业版
 sudo yum install docker-ce docker-ce-cli containerd.io
 #安装docker-ce : sudo yum -y install docker-ce 
#5.启动Docker
 sudo systemctl start docker
 ​
 #6.使用Docker version来测试是否启动成功
 docker version
# 加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-\'EOF\'
{
  "registry-mirrors": ["https://8y3ymul4.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

  #7.hello-world
 docker run hello-world

 #8.查看一下 下载的这个hello-world镜像

用Ubuntu或者kali安装docker

在unbuntu上面安装docker很简单,首先确保自己的linux内核是3.10以上的版本;
输入命令查看内核版本

┌──(root

分类:

技术点:

相关文章: