快速安装Docker详细步骤教程

目录
  • 一、Docker的基本组成
    • 1、Docker服务端和客户端
      • 客户端-服务端(C/S) :
      • 浏览器 - 服务端(B/S) :
    • 2、Docker的基本组成
  • 二、Docker的在线安装
  • 三、Docker内网环境的离线安装
  • 四、运行第一个容器

了解Docker是如何的与众不同,如此的蒂花之秀后,我们紧接着从Docker的基础循序渐进的讲解。

一、Docker的基本组成

1、Docker服务端和客户端

在对Docker的基本组成讲解之前,我们需要明白的是Docker是一个客户端-服务端(C/S)架构程序。不明白什么是C/S架构对吧,我这里就简单说明下,一般来说,应用程序架构分为两种:

客户端-服务端(C/S) :

Client - Server(C/S) = 客戶端 - 服务器。例如: QQ,迅雷,快播等。夜深人静的时候,你躲在被子里,用自己安装的快播神器看不知名的大片,快播软件就需要和服务器进行通信,服务器源源不断的把各种画面信息返回给快播神器。

这种需要安装软件才能与服务器进行数据通信的方式就是C/S架构。

C/S系统结构

浏览器 - 服务端(B/S) :

Browser - Server(B/S) = 浏览器 - 服务器。例如:所有的网站都是B/S架构,你找你朋友,借一步说话,要了个网址,直接浏览器输入就可以乐呵呵的看不知名的大片。这种不需要安装软件,直接有个网址就能看片的方式就属于B/S架构。

B/S系统结构

总的来说,C/S每一个客户端都必须安装和配置专用的软件。B/S最大的优点就是不用安装任何专门的软件,只要有一个浏览器就可以。

docker引擎是一个c/s结构的应用。Docker客户端只需要向Docker服务端或者守护进程发出请求,服务端或者守护进程完成所有工作返回结果主要组件见下图:

  • Server是一个常驻进程
  • REST API 实现了client和server间的交互协议
  • CLI 实现容器和镜像的管理,为用户提供统一的操作界面

2、Docker的基本组成

从上节,我们可以知道Docker使用的是C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

镜像(image):

Docker 镜像就是一个只读的模板,可以通过这个模板来创建容器。一个镜像是可以创建多个容器的,就好像java里的类和对象一样,类是镜像,容器是对象。

容器(container):

Docker 利用容器来运行应用。容器是从镜像创建而来的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

仓库(repository):

仓库就是存放镜像的地方,分为公有仓库(Public)和私有仓库(Private)两种形式,其中官方仓库 Docker Hub是国外的,而国内很多公司,像阿里云,华为云等都有自己的容器服务,Docker默认使用的是国外的仓库,我们在国内访问就很慢,所以我们在学习的时候就需要配置镜像加速。

上面的介绍,我想可能对于刚刚学习Docker的老铁来说,有点生涩难懂,我刚刚学习Docker的时候也是一样。不过没关系,我举个通俗的例子讲解:

我们需要注意的是Docker本身并不是容器,它只是创建容器的工具,是应用容器引擎。

要想搞明白Docker,只需要知道两点即可:

第一点,Build, Ship and Run 译为:构建镜像,运输镜像,运行镜像

Build(构建镜像):镜像就像是集装箱包括文件以及运行环境等等资源。

Ship(运输镜像):主机和仓库间运输,这里的仓库就像是超级码头一样。

Run (运行镜像):运行的镜像就是一个容器,容器就是运行程序的地方。

举个例子:

我爹年纪大了,想回老家盖房子,我们来到老家,找了平时比较热闹的地方,买了块地基准备盖房,于是我和我爹搬水泥,石头,各种材料,费了九牛二虎之力终于盖好房子了。结果,住了一段时间,我爹说这儿太吵了,想换个清静地方。按照传统的办法,我们只能再次搬石头、砍木头、画图纸、盖房子。但是,哆啦A梦从百宝袋里掏出一个魔法棒,可以把我和我爹盖的房子,打包做成“镜像”,放在我的背包里。

等我到了安静的地方,找块空地,就用这个“镜像”,复制一套房子,摆在那边,拎包入住。所以Docker的第二点就是:Build once ,Run anywhere 译为: 一次搭建,到处能用。

从上面的例子,放在我包里的镜像就是 Docker镜像,而我在安静的空地,用魔法棒复制的一套房子就是一个Docker容器,我的背包,就是Docker仓库。

既然,我和我爹盖的房子可以打包做成镜像,那么别人房子也可以做成镜像,这样一来,我们是不是就可以直接住各种豪宅,岂不美滋滋。这么多房子做成的镜像,那就得需要一个大的包来装,于是乎,这个大包就变成了专业术语里的仓库(repository)。因此,官方提供了一个 Docker Hub给大家进行共享房子镜像,当然你也可以搞私有仓库,独乐乐,不共享自己的房子镜像给别人。

二、Docker的在线安装

Docker官方建议在Ubuntu中安装,因为Docker是基于Unbantu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的,在很多版本的Centos中是不支持更新最新的一些补丁包的。

由于我们学习的环境都使用的Centos,因此这里将Docker安装到Centos上。

注意:

Linux要求内核3.0以上

CentOS 需要是7版本的

既然有官方提示的注意,那么我们如何查看系统内核呢?

1、使用uname命令验证

[root@localhost docker]# uname -r
3.10.0-1127.el7.x86_64

2、卸载已安装的Docker

如果已经安装过Docker,请先卸载,再重新安装,来确保整体的环境是一致的。

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3、安装yum工具包和存储驱动

yum install -y yum-utils

4、设置镜像的仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
#上述方法默认是从国外的,不推荐

#推荐使用国内的,阿里云docker镜像
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5、安装docker

注意 : docker-ce 社区版 而ee是企业版。这里我们使用社区版即可。

yum install docker-ce docker-ce-cli containerd.io

6、启动docker

systemctl start docker

7、设置开机启动

systemctl enable docker

8、安装后查看Docker版本

[root@localhost docker]# docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:03:45 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:02:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

9、配置阿里云镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决这个问题。

登录阿里云

搜索 “ 容器镜像服务 ”

获取加速器地址

通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://pak31uuv.mirror.aliyuncs.com"]
}
EOF
# 重启 Docker
systemctl daemon-reload
systemctl restart docker

注意:
阿里云的本人自己账号的镜像地址(需要自己注册有一个属于你自己的): https://xxxx.mirror.aliyuncs.com

10、验证配置是否成功

docker info
# 输出如下
Client:
 Debug Mode: false
Server:
 Containers: 15
  Running: 12
  Paused: 0
  Stopped: 3
 Images: 24
 Server Version: 19.03.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version:
 runc version:
 init version:
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-96-generic
 Operating System: Ubuntu 18.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.767GiB
 Name: docker-services
 ID: YZSB:WJFB:RS4K:V22L:IVGK:GZVZ:UQL4:MCCR:MQ4X:6HRE:T5RM:53M5
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://k7da99jp.mirror.aliyuncs.com/
  https://dockerhub.azk8s.cn/
  https://registry.docker-cn.com/
 Live Restore Enabled: false
WARNING: No swap limit support

三、Docker内网环境的离线安装

由于在很多情况下需要安装docker的虚拟机或服务器无法访问互联网,因此需要离线安装docker。

准备工作

一台可以访问互联网的虚拟机或服务器,操作系统不限,改机器可以访问拟安装docker的机器

STEP 1 : 以下操作在可以访问互联网的机器进行

下载安装包

访问https://download.docker.com/linux/static/stable/选择合适的版本并下载,

笔者用的是 :

https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz

STEP 2: 将下载的安装包上传到拟安装的机器

STEP 3: 以下操作在拟安装的机器上进行
1、解压缩安装包

tar -zxvf docker-18.09.6.tgz

2、复制解压缩后的文件到指定文件夹

 cp docker/* /usr/bin/

3、注册编辑docker服务

vim /etc/systemd/system/docker.service

4、复制下列内容到该文档中

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

5、添加权限后启动

chmod +x /etc/systemd/system/docker.service

6、重新加载配置文件

systemctl daemon-reload

7、启动Docker

systemctl start docker

8、设置开机自启

systemctl enable docker.service

9、验证是否安装成功

systemctl status docker
docker -v

四、运行第一个容器

我们以 Nginx 为例,体验 Docker 是如何运行容器的

# 下载镜像
docker pull nginx

# 运行容器
docker run --name nginx-container -p 80:80 -d nginx

浏览器输入虚拟机地址即可访问 Nginx

以上就是快速安装Docker详细步骤教程的详细内容,更多关于Docke安装步骤的资料请关注我们其它相关文章!

(0)

相关推荐

  • CentOS 8安装docker最详细方法

    centos8安装docker 官方文档:https://docs.docker.com/engine/install/centos/ 1.系统环境 cat /etc/redhat-release 2.添加镜像源(这里是阿里的镜像源) yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3.安装依赖 yum -y install  yum-utils devi

  • Windows Server 2016 安装 Docker的过程及遇到问题

    必备条件 若要在 Windows Server 上运行容器,需要一台运行 Windows Server(半年频道).Windows Server 2019 或 Windows Server 2016 的物理服务器或虚拟机. 建议优先更新服务器 Windows Server 2016已经支持Docker技术,官方也给出了资料: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-st

  • docker安装ros2详细步骤介绍

    目录 正题 一.ubuntu上安装docker 二.Docker中安装ROS2-Foxy 三.ROS2 docker可视化运行小乌龟 最后 正题 说一说今天的正题docker和ros2 ,本篇文章要解决三个问题: ubuntu上如何安装dockerdocker如何安装ros2如何可视化docker中的小乌龟 一.ubuntu上安装docker 这个就很简单啦,一句话搞定 sudo apt install docker.io 二.Docker中安装ROS2-Foxy 安装其实谈不上,这里我们直接拉

  • Docker安装logstash的详细过程

    编辑docker-compose.yml,内容如下: version: '3' services: logstash02: image: logstash:6.4.1 hostname: logstash02 container_name: logstash02 ports: - "5045:5045" #设置端口 environment: XPACK_MONITORING_ENABLED: "false" pipeline.batch.size: 10 volum

  • docker-compose安装yml文件配置方式

    目录 1.离线安装 2.在线安装 3.卸载 4.定义yml文件 1.离线安装 https://github.com/docker/compose/releases 移动文件 mv docker-compose-linux-x86_64 /usr/local/bin 修改文件名 mv docker-compose-linux-x86_64 docker-compose 给docker-compose赋予执行权限 .默认没有执行权限. chmod -x docker-compose 检测是否成功 d

  • docker安装rocketMQ和安装过程中出现问题的解决

    目录 拉取rocketmq镜像 创建namesrv 创建单个broker节点 rocketMQ-console服务 本文主要介绍安装rocketMQ4.4.0,主要分为四步,分别为: 1.拉取rocketmq镜像. 2.创建namesrv. 3.创建broker节点,我在这里介绍的是创建单个broker的. 4.rocketMQ-console服务,用于管理rocketMQ的管理界面. 拉取rocketmq镜像 docker命令如下 docker pull rocketmqinc/rocketm

  • 快速安装Docker详细步骤教程

    目录 一.Docker的基本组成 1.Docker服务端和客户端 客户端-服务端(C/S) : 浏览器 - 服务端(B/S) : 2.Docker的基本组成 二.Docker的在线安装 三.Docker内网环境的离线安装 四.运行第一个容器 了解Docker是如何的与众不同,如此的蒂花之秀后,我们紧接着从Docker的基础循序渐进的讲解. 一.Docker的基本组成 1.Docker服务端和客户端 在对Docker的基本组成讲解之前,我们需要明白的是Docker是一个客户端-服务端(C/S)架构

  • 5分钟安装docker详细步骤

    Centos安装docker需要操作系统是 CentOS 7 or 8,必须启用centos extras存储库.默认情况下,此存储库处于启用状态,但如果已禁用它,则需要重新启用它. 卸载旧版本 老版本的docker被称作docker 或者 docker-engine,如果有老版本的docker,把它和相关依赖一起卸载. $ remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \

  • 阿里云CentOS 6.5 安装Docker详细步骤

    因为阿里云的CentOS 6.5版本默认内核kernel版本是2.6的,比较低.安装docker的后,运行不了. 步骤: 1.使用命令更新: yum update 2.安装Docker.这里忽略500字.... 3.使用命令查看IP: ifconfig 将看到有类似的结果: eth0 Link encap:Ethernet HWaddr 00:16:3E:00:6B:5D inet addr:10.169.127.193 Bcast:10.169.127.255 Mask:255.255.248

  • Windows10下安装Docker的步骤图文教程

    本文主要是记录吾本人在Windows10下安装Docker的过程,当然这些步骤也是在网上搜索查阅资料得知而来的!具体步骤如下: 一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图: 点击确定后,启用完毕会提示重启系统,我们可以稍后再重启. 二.安装Docker Docker下载地址为:https://store.docker.com/editions/community/docker-ce-desktop-windo

  • docker安装RabbitMQ详细步骤

    目录 1.查找镜像 2.下载RabbitMQ镜像 3.创建并启动RabbitMQ容器 4.进入容器交互页面 5.下载插件 6.阿里云控制台 开放端口号 7.登录 1.查找镜像 docker search rabbitmq 2.下载RabbitMQ镜像 直接下载最新的镜像如果需要下载其他版本 自行Docker官网查看并添加版本号再下载 # 下载镜像 docker pull rabbitmq #查看镜像 docker images 3.创建并启动RabbitMQ容器 第一个-p :用于页面访问使用第

  • Docker安装MinIO详细步骤介绍

    目录 一.查看docker环境是否正常 二.下载minIO的镜像 三.创建minIO容器 四.访问地址 五.安装遇到问题 1.问题一 2.问题二 3.问题三 一.查看docker环境是否正常 在命令行使用docker search minIO: 如果能查出来证明docker安装的没问题,然后开始下一步 二.下载minIO的镜像 docker pull minio/minio 三.创建minIO容器 查看所有镜像 docker images 创建目录:一个用来存放配置,一个用来存储上传文件的目录.

  • 腾讯云CentOS 6.6快速安装 Nginx服务器图文教程

    一.下载Nginx 从Nginx的官网(http://nginx.org/en/download.html)下载Nginx的最新版本,这里我下载的是nginx-1.9.12. 下载完成后,得到一个如下图所示的压缩包 上传nginx的tar包到Linux服务器上,如下图所示: 二.安装Nginx 2.1.安装前提 在安装Nginx前,需要确保系统安装了g++,gcc, openssl-devel.pcre-devel和zlib-devel软件. 1.安装必须软件:yum -y install zl

  • Python3 pywin32模块安装的详细步骤

    python新手一枚,操作系统Win10 64 bit,Python版本,3.7 因为某个脚本需要用到win32con 和win32api模块,run --  cmd  ,使用easy_install pywin32 命令安装,提示错误,搜不到, 网上搜了下教程,分别用pip3 install pypiwin32  和python -m pip install pypiwin32 命令试了下,安装报错 (使用pip3 install pypiwin32 命令是下载pypiwin32-219.zi

  • vmware esxi6.5安装使用详细步骤

    简介 ESXi专为运行虚拟机.最大限度降低配置要求和简化部署而设计.只需几分钟时间,客户便可完成从安装到运行虚拟机的全过程,特别是在下载并安装预配置虚拟设备的时候. 在VMware Virtual Appliance Marketplace 上有800多款为VMware hypervisor 创建的虚拟设备,如今,ESXi已经实现了与Virtual Appliance Marketplace的直接整合,使用户能够即刻下载并运行虚拟设备.这为即插即用型软件的交付与安装提供了一种全新和极其简化的方式

随机推荐