docker的教程

CentOS 7 离线安装docker-ce

2018-03-20  本文已影响495人  大胡子歌歌

转载自网络
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 **uname -r **命令查看你当前的内核版本
$ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

7、在线机器上安装docker

$ sudo yum install docker-ce

获取离线安装包
$ sudo yum install --downloadonly --downloaddir=/mnt/docker docker-ce-18.03.1.ce

在离线机器上安装
cd /mnt/docker
yum localinstall *.rpm
8、启动并加入开机启动

sudo systemctl start docker sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

二、问题

1、在安装过程中输错命令
yum list /?
2、结果再输正确的时候出现如下错误
Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum Memory : 38 M RSS (357 MB VSZ) Started: Tue Mar 20 16:42:32 2018 - 02:42 ago State : Traced/Stopped, pid: 10713
3、查看ps -aux |grep yum* 有两个进程,找到那个错误进程的ID号
4、关闭那个错误的进程 kill -9 10713
5、再执行yum list --showduplicates |sort -r时出现下面错误
error: rpmdb: BDB0113 Thread/process 10713/140316020627264 failed: BDB1507 Td died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal r, run database recovery error: cannot open Packages index using db5 - (-30973) error: cannot open Packages database in /var/lib/rpm CRITICAL:yum.main: Error: rpmdb open failed
6、于是首先清除掉缓存,之后再重建就可以了
rm -f /var/lib/rpm/__db*
rpm --rebuilddb

三、修改docker仓库为国内镜像

1、参照网址https://www.docker-cn.com/registry-mirror
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
2、重启docker服务
$ systemctl restart docker

四、测试

1、 busybox简介
  我们可以通过从镜像仓库中拉去镜像的方式来测试镜像地址是否配置成功,比如说我们可以尝试去拉取一个简单的busybox镜像来进行相应的测试。
  busybox是一个集成了一百多个最常用linux命令和工具的软件,同时它也是一个最小的Linux系统,它提供了该系统的主要功能,例如grep、find、mount以及telnet等但不包含一些与GNU相关的功能和选项。

2、 拉取busybox
docker pull busybox 当看到下面的信息时,说明镜像已经拉取成功 `` Using default tag: latest Trying to pull repository docker.io/library/busybox … latest: Pulling from docker.io/library/busybox 9e87eff13613: Pull complete Digest: sha256:2605a2c4875ce5eb27a9f7403263190cd1af31e48a2044d400320548356251c4 `` 3、 测试busybox docker run busybox echo “hello world”
hello world

当我们看到控制台打印出的“hello world”时,这就说明我们的busybox已经测试成功了。

上一篇下一篇

猜你喜欢

热点阅读