博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos7 Docker安装
阅读量:3960 次
发布时间:2019-05-24

本文共 6876 字,大约阅读时间需要 22 分钟。

Docker

Docker 是一个的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 或 机器上,也可以实现。容器是完全使用机制,相互之间不会有任何接口。

在这里插入图片描述
一个完整的Docker有以下几个部分组成:

  1. DockerClient客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. DockerContainer容器

​ ​ ​ ​ ​ ​Docker 是 提供商 dotCloud 开源的一个基于 的高级容器引擎,源代码托管在 上, 基于并遵从Apache2.0协议开源。

​ ​ ​ ​ ​ Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是在RHEL6.5中集成对Docker的支持, 就连 的 Compute Engine 也支持 docker 在其之上运行。

​ ​ ​ ​ ​ Docker是供开发人员和系统管理员 使用容器构建,运行和共享应用程序的平台。使用容器来部署应用程序称为容器化。容器不是新的,但用于轻松部署应用程序的容器却是新的。

容器化越来越受欢迎,因为容器是:

  • 灵活:即使最复杂的应用程序也可以容器化。
  • 轻量级:容器利用并共享主机内核,在系统资源方面比虚拟机效率更高。
  • 可移植性:您可以在本地构建,部署到云并在任何地方运行。
  • 松散耦合:容器是高度自给自足并封装的容器,使您可以在不破坏其他容器的情况下更换或升级它们。
  • 可扩展:您可以在数据中心内增加并自动分布容器副本。
  • 安全:容器将积极的约束和隔离应用于流程,而无需用户方面的任何配置。
    在这里插入图片描述

Doker架构

​ ​ ​ ​ ​ Docker使用客户端-服务器架构。Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以 在同一系统上运行,也可以将Docker客户端连接到远程Docker守护程序。Docker客户端和守护程序在UNIX套接字或网络接口上使用REST API进行通信。

在这里插入图片描述

一、Centos7-安装Docker

1、环境准备

1、需要Linux基础

2、Centos7

3、使用Xshell远程连接服务器

2、查看服务器版本

# 系统内核必须在3.10以上[root@bogon ~]# uname -r3.10.0-693.el7.x86_64# 查看系统配置[root@bogon /]# 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"

DockerAPI手册:https://docs.docker.com/

支持Centos7及以上版本

在这里插入图片描述

# 卸载旧的docker$ sudo yum remove docker \                  docker-client \                  docker-client-latest \                  docker-common \                  docker-latest \                  docker-latest-logrotate \                  docker-logrotate \                  docker-engine

1.1、安装方法

您可以根据需要以不同的方式安装Docker Engine:

  • 大多数用户会 并从中进行安装,以简化安装和升级任务。这是推荐的方法。
  • 一些用户下载并 RPM软件包, 并完全手动管理升级。这在诸如在无法访问互联网的空白系统上安装Docker的情况下非常有用。
  • 在测试和开发环境中,一些用户选择使用自动 来安装Docker。

1.2、使用存储库安装

​ ​ ​ ​ ​在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

1.2.1、设置存储库

安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。

# 下载需要的安装包$ sudo yum install -y yum-utils# 设置镜像地址$ 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

在这里插入图片描述

1.3、安装Docker引擎

# 安装之前先进行跟新yumyum makecache fast# 安装docker引擎 docker-ce 社区版本  docker-ee/docker-ee-eli 企业版$ sudo yum install docker-ce docker-ce-cli containerd.io

在安装之前最好跟新一下yum软件指令

要安装特定版本的Docker Engine,请在存储库中列出可用版本,然后选择并安装:

一个。列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:

$ yum list docker-ce --showduplicates | sort -rdocker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stabledocker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stabledocker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stabledocker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable# VERSION_STRING 版本指定安装$ sudo yum install docker-ce-
docker-ce-cli-
containerd.io# 启动docker$ sudo systemctl start docker

查看docker启动

$ sudo  docker versionClient: Version:         1.13.1 API version:     1.26 Package version: docker-1.13.1-108.git4ef4b30.el7.centos.x86_64 Go version:      go1.10.3 Git commit:      4ef4b30/1.13.1 Built:           Tue Jan 21 17:16:25 2020 OS/Arch:         linux/amd64Server: Version:         1.13.1 API version:     1.26 (minimum version 1.12) Package version: docker-1.13.1-108.git4ef4b30.el7.centos.x86_64 Go version:      go1.10.3 Git commit:      4ef4b30/1.13.1 Built:           Tue Jan 21 17:16:25 2020 OS/Arch:         linux/amd64 Experimental:    false

二、docker-Helloword

​ ​ ​ ​ ​ 在我们安装docker只有我们首先做的就是去测试一下我们的docker的helloword程序、在docker中启动一个镜像使用run命令即可。

2.1、运行hello-world

$ sudo docker run hello-worldUnable to find image 'hello-world:latest' locally   # 没有找到hello-world:latest镜像Trying to pull repository docker.io/library/hello-world ...  #远程拉取镜像latest: Pulling from docker.io/library/hello-world     # 拉取地址0e03bdcc26d7: Pull complete Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1Status: Downloaded newer image for docker.io/hello-world:latestHello 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 bashShare 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.2、查看拉取的镜像

# 查看当前镜像docker images

在这里插入图片描述

三、卸载Docker

在我们不需要Docker的时候需要卸载、官方也给我们提供了最通许的方法

1、卸载Docker Engine,CLI和Containerd软件包:

$ sudo yum remove docker-ce docker-ce-cli containerd.io

2、主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

四、阿里云镜像加速

1、进入阿里云、容器镜像管理

在这里插入图片描述

2、找到镜像加速器

在这里插入图片描述

3、配置加速器

1、CentOS的配置方式略微复杂,需要先将默认的配置文件(/lib/systemd/system/docker.service)

2、复制到 /etc/systemd/system/docker.service。

3、然后再将加速器地址添加到配置文件的启动命令中,之后重启Docker即可。

sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.servicesudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon 			--registry-mirror=
|g" /etc/systemd/system/docker.servicesudo sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=
|g" /etc/systemd/system/docker.servicesudo systemctl daemon-reloadsudo service docker restart

4、docker配置镜像加速地址修改

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

$sudo mkdir -p /etc/docker$sudo tee /etc/docker/daemon.json <<-'EOF'{
"registry-mirrors": ["配置你的加速地址"]}EOF$sudo systemctl daemon-reload$sudo systemctl restart docker

5、查看是否配置成功

[root@bogon docker]# cat /etc/docker/daemon.json {
"registry-mirrors": ["配置你的加速地址"]}

6、重新启动docker

# 重新启动服务systemctl daemon-reload# 重新启动dockersystemctl restart docker

五、Docker的流程

我们在安装完成之后也进行了一个简单的测试。

HelloWord程序到底是怎么跑起来的呢?我们一起来分析一波。

我们在运行helloword程序的时候会报出一个Unable to find image没有找到我们helloword程序、此时Docker会在本机寻找我们需要启动的镜像、docker会给出答复是否有这个镜像,如果有使用这个镜像运行,如果没有Docker就回去DockerHub仓库(默认国外慢、前面配置阿里云)、那么去下载的时候也会进行判断仓库中有没有、如果有那么就进行拉取进行到本地仓库中、添加到run程序中进行运行、如果没有就会报错Unable to find image,大致Docker的流程就是这样的。

找不到镜像报错如下

docker run hebiyushengUnable to find image 'hebiyusheng:latest' locallyTrying to pull repository docker.io/library/hebiyusheng ... /usr/bin/docker-current: repository docker.io/hebiyusheng not found: 						 does not exist or no pull access.See '/usr/bin/docker-current run --help'.

在这里插入图片描述

在这里基本的docker安装的HelloWord就结束了、快去安装学习吧。持续跟新!

转载地址:http://udqzi.baihongyu.com/

你可能感兴趣的文章
CentOS 下 tree命令用法详解
查看>>
docker上传镜像至Registry时https报错解决方法
查看>>
安装 docker-compose (实测可用,妈妈再也不用担心被墙了)
查看>>
docker下删除none的images
查看>>
Linux提权获取敏感信息方法
查看>>
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>
Ubuntu 更换国内源
查看>>
Ubuntu16.04下Docker pull connection refused 解决办法
查看>>
通过 三大机制 揭秘 IPFS 工作原理
查看>>
Ubuntu 16.04卸载PostgresQL
查看>>
华为路由器交换机配置命令
查看>>
docker下运行kalilinux并配置ssh访问
查看>>
使用 Docker 容器应该避免的 10 个事情
查看>>
postgres基本操作(个人总结版)
查看>>
求数组中最长递增子序列
查看>>
用C++设计一个不能被继承的类
查看>>
linux core文件机制
查看>>
私有继承中的派生类对象与基类对象间的转换
查看>>
5.7 观察者模式observer(行为模式)
查看>>