[293]centos安装docker和Windows10使用docker toolbox安装docker

centos7安装docker

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后果有时会导致系统启动不了,因为它会更新你的内核,如果更新失败,最好yum clean all

$ sudo 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  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

  • 更改docker的镜像源

安装好之后,更改docker的镜像源,修改或新增 /etc/docker/daemon.json
vi /etc/docker/daemon.json
修改成如下:

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
或
{ 
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
}

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

服务启、停、查、重启

service docker start/stop/status/restart
chkconfig docker on

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

$ docker version

测试运行 hello-world

[root@runoob ~]#docker run hello-world

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

10、其它
列出所有本地镜像

docker images

删除本地镜像

docker rmi centos

如果已经有基于此镜像的容器,需要先删除相应的容器再删除镜像。或者通过-f参数强制删除镜像,如docer rmi -f centos

问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

Transaction check error:
  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

卸载Docker CE

[root@centos_7 ~]# sudo yum remove docker-ce 
[root@centos_7 ~]#  sudo rm -rf /var/lib/docker

3、再次安装docker

$ sudo yum install docker-ce
无法正常启动问题
[root@test ~]# service docker start

Redirecting to /bin/systemctl start  docker.service

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

[root@localhost plugins]# journalctl -xe
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: time="2018-05-17T15:11:13+08:00" l
5月 17 15:11:13 localhost.localdomain dockerd[10864]: Error starting daemon: error initi
5月 17 15:11:13 localhost.localdomain systemd[1]: docker.service: main process exited, c
5月 17 15:11:13 localhost.localdomain systemd[1]: Failed to start Docker Application Con
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is failed.
5月 17 15:11:13 localhost.localdomain systemd[1]: Unit docker.service entered failed sta
5月 17 15:11:13 localhost.localdomain systemd[1]: docker.service failed.
5月 17 15:11:13 localhost.localdomain systemd[1]: docker.service holdoff time over, sche
5月 17 15:11:13 localhost.localdomain systemd[1]: start request repeated too quickly for
5月 17 15:11:13 localhost.localdomain systemd[1]: Failed to start Docker Application Con
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is failed.
5月 17 15:11:13 localhost.localdomain systemd[1]: Unit docker.service entered failed sta
5月 17 15:11:13 localhost.localdomain systemd[1]: docker.service failed.

[root@localhost packages]# systemctl status docker.service -l
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since 四 2018-05-17 14:55:09 CST; 7min ago
     Docs: https://docs.docker.com
  Process: 9940 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
 Main PID: 9940 (code=exited, status=1/FAILURE)

5月 17 14:55:09 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
5月 17 14:55:09 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
5月 17 14:55:09 localhost.localdomain systemd[1]: docker.service failed.
5月 17 14:55:09 localhost.localdomain systemd[1]: docker.service holdoff time over, scheduling restart.
5月 17 14:55:09 localhost.localdomain systemd[1]: start request repeated too quickly for docker.service
5月 17 14:55:09 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
5月 17 14:55:09 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
5月 17 14:55:09 localhost.localdomain systemd[1]: docker.service failed.

查看文件系统 /etc/docker/daemon.json 有没有这个文件,没有测创建它包括二级目录 docker
在daemon.json文件中输入以下内容:

[root@localhost plugins]# vi /etc/docker/daemon.json
{
    "graph": "/mnt/docker-data",
    "storage-driver": "devicemapper",
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

我的问题是添加"storage-driver": "devicemapper"解决

使用脚本安装 Docker

1、使用 sudo 或 root 权限登录 Centos。
2、确保 yum 包更新到最新。(慎重,可能导致其它软件包不可用)

$ sudo yum update

3、执行 Docker 安装脚本。

$ curl -fsSL https://get.docker.com/ | sh

执行这个脚本会添加 docker.repo 源并安装 Docker。

4、启动 Docker 进程。

$ sudo service docker start

5、验证 docker 是否安装成功并在容器中执行一个测试的镜像。

$ sudo docker run hello-world
docker ps

到此,docker 在 CentOS 系统的安装完成。

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):

# 如果没有此文件,则新建一个
vi /etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

Windows10使用docker toolbox安装docker

介绍

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

使用docker toolbox安装docker

对于Windows用户来说,使用docker toolbox来安装docker是最简单的方式

docker toolbox是一个工具集,它主要包含以下一些内容:

1、Docker CLI 客户端,用来运行docker引擎创建镜像和容器
2、Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
3、Docker Compose. 用来运行docker-compose命令
4、Kitematic. 这是Docker的GUI版本
5、Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
6、Oracle VM Virtualbox. 虚拟机

由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,

用这个虚拟机才可以在你的windows系统上运行Docker引擎

第一步:检查你当前的windows系统是否符合要求:

为了运行Docker,你的机器必须是windows7或以上版本的64bit系统

另外,你的机器必须支持硬件虚拟化技术(Hardware Virtualization Technology)并且已被启用。

对于windows10系统来说,你可以在 任务管理器->性能 中查看到你的电脑是否开启了虚拟化

第二步:安装Docker Toolbox
下载地址:http://get.daocloud.io/#install-docker-for-mac-windows

或者在:https://www.docker.com/products/docker-toolbox下载,这个下载比较慢

下载完成后安装

在这一步,你将安装Docker Toolbox。安装后你的系统将会安装以下几个软件:

1、Windows版的Docker客户端
2、Docker Toolbox管理工具和ISO镜像
3、Oracle VM Virtualbox
4、Git MSYS-git Unix 工具

第三步、 确认是否安装成功
安装完成后,你会在你的电脑桌面上看到新增了三个图标

双击Docker Quickstart Terminal图标,启动一个终端

第一次启动的话你会看到命令行会输出一些东西,等待一下,它会配置Docker Toolbox,之后,当它完成后,你会看到启动成功的画面

若在bash界面提示没有boot2docker镜像,需要在github上下载,提示大概如下

这是因为没有找到默认的boot2docker镜像的原因,提示正在下载,然而github的下载速度不可恭维,第一反应都是找别的站资源下载。

在此要注意了,不同的docker版本最好要对应相同的boot2docker版本,相信打开github下载页的应该都留意到。最后我才发现,其实不用下载,

在一开始安装好的DockerToolbox根目录下就有一个boot2docker,并且可以推断就是对应的版本。

把boot2docker.iso复制到,bash所提示找不到的那个目录下(我这里是C:\Users\Administrator.docker\machine\cache)。

然后再次双击Docker Quickstart Terminal图标,出现如下界面,说明安装成功了。

在命令行中输入docker run hello-world并按回车键,如果docker配置成功的话,你会看到命令行中有如下输出:

自此,我们便在我们的windows下安装好了docker环境了

参考:http://www.runoob.com/docker/centos-docker-install.html
https://www.cnblogs.com/yufeng218/p/8370670.html
http://blog.cheyo.net/280.html
http://www.cnblogs.com/shaosks/p/6932319.html

问题参考:https://www.cnblogs.com/amoyzhu/p/5261393.html
https://blog.csdn.net/qq_35904833/article/details/74189383
https://www.oschina.net/question/988854_2143631

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小董

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值