Docker安装指南

本节目录

  • Centos

  • Ubuntu

  • Windows

一、Centos

  • 查看内核版本是否符合要求

  •  查看内核版本
uname -r
  • 删除旧版本(可选)
$ sudo yum remove docker 
 docker-client 
 docker-client-latest 
 docker-common 
 docker-latest 
 docker-latest-logrotate 
 docker-logrotate 
 docker-selinux 
 docker-engine-selinux 
 docker-engine 
 docker.io
  • 1. (可选)把yum包更新到最新(生产环境慎重!yum update会对软件包和内核升级,此处只是为了排除系统环境的影响。
yum update
  • 2. 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
  • 3. 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

[root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  File "/usr/bin/yum-config-manager", line 135
    except yum.Errors.RepoError, e:
                               ^
SyntaxError: invalid syntax
若出现这样的错误,vim /usr/bin/yum-config-manager,将首行的解释器改为python2

# 添加官方数据源
$ sudo yum-config-manager 
 --add-repo 
 https://download.docker.com/linux/centos/docker-ce.repo
# 添加阿里云数据源
$ sudo yum-config-manager 
 --add-repo 
 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 4. 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r

Repository epel is listed more than once in the configuration
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax
解决方法与步骤3类似
  • 5. 安装Docker,命令:yum install docker-ce-版本号,我选的是18.03.1.ce,如下: 
yum install docker-ce-18.03.1.ce
  • 6. 启动Docker,命令:systemctl start docker,然后加入开机启动,如下:
systemctl start docker
systemctl enable docker  # 开机自启
  • 7. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
  • 8.卸载

$ sudo yum remove docker-ce
# delete all Images, containers, volumes, or customized configuration files
$ sudo rm -rf /var/lib/docker

二、Ubuntu

更新ubuntu的apt源索引

sudo apt-get update

安装包允许apt通过HTTPS使用仓库

sudo apt-get install 
    apt-transport-https 
    ca-certificates 
    curl 
    software-properties-common

添加Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置Docker稳定版仓库

sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"

添加仓库后,更新apt源索引

sudo apt-get update

安装最新版Docker CE(社区版)

sudo apt-get install docker-ce

检查Docker CE是否安装正确

sudo docker run hello-world

为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录

sudo usermod -a -G docker $USER

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令

# 启动docker
sudo service docker start

# 停止docker
sudo service docker stop

# 重启docker
sudo service docker restart

三、Windows

首先下载好DockerToolbox.exe,官网:https://www.docker.com/ 国内镜像加速:https://get.daocloud.io/

双击Docker Toolbox.exe, 一路点击NEXT, 安装路径我设置的是F:DockerToolbox

img

img

img

img

img

安装完成后,会出现如下几个图标:

img

双击Docker Quickstart Terminal, 如果出现如下页面,说明Docker已启动成功,后面的内容就不需要再看了。

img

2. 启动Docker

  • 创建docker machine

打开power shell(如果还未安装,参考2.4),进入Docker Toolbox的安装目录,可以看到这个下面有docker-machine.exeboot2docker.isostart.sh几个文件。

在power shell中执行如下命令:

$ docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default

输出如下:

img

  • 启动docker-machine

点击start.sh,会新弹出一个bash窗口,输出如下信息:

img

  • 关闭docker machine

    执行如下命令:

$ docker-machine.exe stop default

注:也可以使用Oracle VM VirtualBox来关闭。Oracle VM VirtualBox是用来管理docker machine的图形界面工具,

  • 删除docker machine

    执行如下命令:

$ docker-machine.exe rm default

也可以使用Oracle VM VirtualBox来删除。

3.镜像加速

可以通过修改镜像仓库地址,加速docker 镜像的拉取。

$ docker-machine ssh default
   ( '>')
  /) TC (   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-)           www.tinycorelinux.net
  • 设置镜像地址

接下来执行sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://reg-mirror.qiniu.com |g" /var/lib/boot2docker/profile 此处镜像地址使用的是https://reg-mirror.qiniu.com,可自行更换。

执行完毕后,执行exit退出。

Administrator@ZHANG-YAFEI MINGW64 ~/Desktop
$ docker-machine ssh default
   ( '>')
  /) TC (   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-)           www.tinycorelinux.net
​
docker@default:~$ cat /var/lib/boot2docker/profile
​
EXTRA_ARGS='
--label provider=virtualbox
​
'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=overlay2
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem
​
​
<egistry-mirror=https://0lca06jh.mirror.aliyuncs.com |g" /var/lib/boot2docker/> docker@default:~$ cat /var/lib/boot2docker/profilele
​
EXTRA_ARGS='--registry-mirror=https://0lca06jh.mirror.aliyuncs.com
--label provider=virtualbox
'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=overlay2
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem
​
​
docker@default:~$ exit
logout
  • 重启docker-machine

$ docker-machine restart default
Restarting "default"...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
(default) Waiting for an IP...
Waiting for SSH to be available...
Detecting the provisioner...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

 

作者:张亚飞
出处:https://www.cnblogs.com/zhangyafei
gitee:https://gitee.com/zhangyafeii
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
原文地址:https://www.cnblogs.com/zhangyafei/p/13877522.html