docker系列(一)docker概述及安装

一、Docker概述

1.1 为什么会出现Docker?

  • 传统上:开发一套环境,上线一套环境,环境配置十分复杂
  • docker:开发-打包-部署-上线,一套流程全做完
  • Docker核心思想:隔开
  • Docker的思想来自于集装箱,docker通过隔离机制,可以将服务器利用到极致!

1.2 docker网址

1.3 docker VS 虚拟机?

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,相当于操作系统上安装的一个软件
  •  每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响

1.4 docker优势?

docker 广泛应用于DevOps开发中,具有以下有优势:

1) 应用更快速的交付和部署: 传统上,一对帮助文档,安装程序;Docker:打包镜像发布测试一键运行。

2)更便捷的升级和扩缩容:使用了 Docker之后,我们部署应用就和搭积木一样项目打包为一个镜像,扩展服务器A!服务器B

3)更简单的系统运维:在容器化之后,我们的开发,测试环境都是高度一致的

  4)更高效的计算资源利用:Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。

1.5 docker的基本组成

docker主要由三部分组成:镜像(images)、容器(container),仓库(repository)

1) 镜像(images):docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像==>run==>容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。相当于手机安装包,我们下载的apk文件

2)容器(container):Docker利用容器技术,通过镜像创建的独立运行的一个或者一组应用;相当于通过apk文件安装好的手机应用软件。

3)仓库(repository):仓库就是存放镜像的地方;仓库分为公有仓库和私有仓库。(很类似git)

1.6 Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!Docker-Server接收到Docker-Client的指令,就会执行这个命令!

1.7 为什么Docker比虚拟机快?

1)docker有着比虚拟机更少的抽象层:由于docker不需要Hypervisor实现硬件资源虚拟化,运行在

docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势

2)docker利用的是宿主机的内核,而不需要虚拟机里面的系统(Guest OS)

物理机里面的系统(os):

因此,当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。然而避免引导、加载操作系统内核是个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个复杂的过程,因此新建一个docker容器只需要几秒钟。

二、Docker安装

2.1 环境准备

Linux要求内核3.0以上,

➜	~ uname -r
4.15.0-96-generic # 要求3.0以上
➜	~ cat /etc/os-release NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS" VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy- policy"VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

2.2 安装 

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

#1.卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \ docker-common \
docker-latest \
docker-latest-logrotate \ docker-logrotate \
docker-engine
#2.需要的安装包
yum install -y yum-utils
#3.设置镜像的仓库
yum-config-manager \
--add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
#默认是从国外的,不推荐
#推荐使用国内的
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引 yum makecache fast
#4.安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
#6. 使用docker version查看是否按照成功 docker version
#7. 测试
docker run hello-world

2.3 测试

#7. 测试
➜	~ docker run hello-world Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1.	The Docker client contacted the Docker daemon.
2.	The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
3.	The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4.	The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

2.4 卸载docker

#1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
#2. 删除资源
rm -rf /var/lib/docker
# /var/lib/docker 是docker的默认工作路径!

2.5 配置阿里云镜像加速

登录到阿里云遭到容器服务,找到镜像加速器,安装步骤配置即可

猜你喜欢

转载自blog.csdn.net/jatej/article/details/113543317