docker01(docker基础,docker安装)

docker基础01(docker原理,docker安装)

一.引子

进入了虚拟化的环节,那就不得不提到划时代的技术,容器技术。docker是现行容器标准,用大家能够理解的话来理解的话那就是一个docker就相当于一个虚拟机,然而docker可以秒级启动,而我们的虚拟机就差不少意思了。虚拟机就相当于在我们电脑里面安装一台新的电脑,接下来让笔者带大家进入容器的世界。所有的技术都是因为现有技术出现了一些问题需要解决。
docker为什么会出现:让开发与测试与部署环境完全一致。项目带着环境一起发布。
docker官网:https://www.docker.com
docker官方文档地址:https://docs.docker.com
docker官方仓库地址:https://hub.docker.com

二.docker基础

(一).docker介绍(开源,go语言,apache2.0协议)

  • 1.Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
  • 2.Docker 可以让使用者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。
  • 3.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 手机 的 app),更重要的是容器性能开销极低(秒级销毁,有虚拟机的功能)。隔离是docker的核心思想。

(二).docker优势(快速,可移植,经济)

  • 1、快速,一致地交付您的应用程序 Docker
    允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。
  • 2、响应式部署和扩展 Docker 是基于容器的平台,允许高度可移植的工作负载。Docker容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。 Docker的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。
  • 3、在同一硬件上运行更多工作负载 Docker轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,开发者可以利用更多的计算能力来实现业务目标。Docker非常适合于高密度环境以及中小型部署,可以用更少的资源做更多的事情。

(三).docker架构

1.Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04,就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

2.docker具体架构

  • Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  • Docker 容器通过 Docker 镜像来创建。
  • 容器与镜像的关系类似于面向对象编程中的对象与类

在这里插入图片描述

在这里插入图片描述

三.docker安装

(一).官网下载软件包打包安装
下载完的rpm包就是这样子的了

#上传rpm包
[root@localhost ~]# ls
docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm
#yum安装
[root@localhost ~]# yum -y install docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm 
#启动docker并设置开机自启动
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
#运行hello-world镜像来验证是否安装
[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest

(二)命令行下载安装
1.下载docker

(1).直接安装
#安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh

(2).使用官方仓库安装(使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。)
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
#官方源
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

#清华源
yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
#阿里源
yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

安装报错:

错误:软件包:containerd.io-1.3.7-3.1.el7.x86_64 (docker-ce-stable)
          需要:container-selinux >= 2:2.74
错误:软件包:3:docker-ce-19.03.13-3.el7.x86_64 (docker-ce-stable)
          需要:container-selinux >= 2:2.74

解决方法:(设置yum源并更新到最新版本)

[root@localhost~]#wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost~]]#yum update && yum install container-selinux

四.docker镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
daocloud加速器:http://f1361db2.m.daocloud.io
笔者使用的系统是centos7,以下是centos7镜像加速操作

(1)脚本命令创建脚本
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

(2) /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
之后重新启动服务:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

五.docker一键安装基于lamp环境的wordpress技术博客

从仓库下载镜像

1.docker pull wordpress
2.docker pull mariadb

创建启动容器

1.docker run --name db --env MYSQL_ROOT_PASSWD=example -d mariadb
2.docker run -name MyWordPress --link db:mysql -p 808:80 -d wordpress

在这里插入图片描述

docker基础版01介绍就到此为止,接下来笔者带大家走进docker的容器管理和镜像管理的环节。感谢大家,一起成长。安装完这个wordpress的伙伴们,如果有以前跟笔者安装LAMP的wordpress的小伙伴可能心态就有点小崩溃了。不要打我,抱头。

参考文档:https://www.runoob.com/docker/docker-architecture.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值