Docker学习(一)ubuntu18.04 安装Docker

要想学习docker,首先得安装一个Docker是吧。那我下面就以Ubuntu16.04为例子,来安装Docker。

建议在安装docker前,把apt的源更改为国内的源,步骤可以参考Ubuntu 更换国内源

Step1 卸载掉老版本的Docker

老版本的Docker叫作docker, docker.io, or docker-engine. 如果Ubuntu系统已经存在这些软件的话,那么首先是要卸载掉的。

执行下面的命令:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

如果apt-get提示说这些软件一个也没安装,那么也是Ok的。

Step2 选择要安装的版本

Docker虽然是一个开源软件,但是也分为不同的版本,CE版本代表社区版本,EE版本代表商业版本。

我这里当然是选择安装CE版本,因为穷啊!

CE社区版本也分为stable、test和nightly。Stable代表稳定版,test是测试版本,nightly是最新构建出来的版本。我这儿主要是为了学习,就不折腾了,选择Stable稳定版本。

Step3 从软件库(repository)安装Docker

有两个方式安装Docker,一种是使用软件管理工具从软件库里安装,另一种是下载安装包后自己手动安装。

自己手动下载安装包安装容易出错,而且可能会引入一些依赖相关的问题,建议还是使用软件工具从软件库里安装。

在安装Docker前,先要设置一下安装和更新Docker的软件库地址。

(1) 设置软件库

  1. 更新库索引

    $ sudo apt-get update
    
  2. 安装一些软件包,使得apt用HTTPS链接软件库

    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
    
  3. 添加Docker的GPG秘钥。建议使用国内的镜像网址,注释中是官方的网址。

    $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
    #$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 设置稳定版软件库,

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

    如果要安装test或nightly版本的,只需要在stable后面添加test或night单词即可。我这儿已经通过arch=amd64指定系统为amd64了,如果你是其他的系统,比如arm的,那么请参考官方的设置步骤:Install docker on ubuntu

(2) 安装Docke 引擎(社区版)

接下来就是要正式的安装Docker了。

  1. 更新本地apt软件包索引

    $ sudo apt-get update
    
  2. 安装最新版的Docker(社区版)

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  3. 安装指定版本Docker。

    如果你想安装指定版本的Docker,可以参考官网设置,我这儿不过多赘述。

    To install a specific version of Docker

  4. 通过hello-world镜像验证是否Docker社区版已经安装成功了。

    执行下面的命令:

    $ sudo docker run hello-world
    

    这条命令将会下载一个测试镜像,然后在一个容器中运行它。当容器运行时会打印一些信息,然后退出。

step4 授予普通用户拥有运行Docker的权利

安装Docker的过程中会自动创建docker用户组,但是没有任何用户加入这个用户组。所以你需要使用sudo运行Docker命令。

Docker守护进程是绑定到Unix socket上的,而不是TCP端口。默认情况下只有root用户拥有Unix socket,其他用户只能通过sudo访问到它。Docker守护进程总是以root用户身份运行。

如果你不想在使用docker命令时添加sudo,那么可以创建一个叫docker的Unix用户组,然后添加用户到这个用户组。当Docker守护进程启动时,它会创建docker用户组成员可以访问的Unix socket。

注意,docker用户组相当于授予了用户拥有root权限,该情况下可能会影响到安全问题。

下面是授权的具体步骤:

  1. 创建docker用户组

    $ sudo groupadd docker
    
  2. 添加你的用户到docker用户组

    $ sudo usermod -aG docker $USER
    
  3. 重新登录

    如果你是在虚拟机里面,那么可能需要重启虚拟机中的ubuntu。

    如果你是在实体机中,那么只需要登出X windows(即命令行窗口),然后再登入就行了。

    在Linux上,你也可以使用下面的命令来使得分组修改生效:

    $ newgrp docker 
    
  4. 验证是否授权成功

    运行docker命令时不加sudo

    $ docker run hello-world
    

    这条命令将会下载一个测试镜像,然后在一个容器中运行它。当容器运行时会打印一些信息,然后退出。

好了,到这里基本就可以使用Docker了。

如果需要设置Docker随机启动、使用不同存储引擎、远程访问等,可以参考官网配置:Post-installation steps for Linux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值