Docker 操作基础入门-安装及启动

让我们从一行代码开始:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

这行代码做了什么?

先不要想这件事,先执行它,然后慢慢看下面的内容。

执行的过程中可能需要输入你的用户密码,输入即可。

我们来介绍几个工具:

  • curl: 一个可以发送网络请求的工具。
  • |: 在linux的shell中,"|"被称为管道,它将前一条shell语句的输出作为后一条shell语句的输入。
  • bash: 一种shell,是计算机的使用者与计算机交互的一种工具。

https://get.docker.com 中存储了一个可以在绝大多数linux发行版中自动安装docker的shell脚本。这很方便,我们不用再手动配置docker的软件源或其他的一系列麻烦事。

要用最简单的方法来解决无论多么复杂的问题。

洛冰河说的

后面的 --mirror Aliyun则是指定了软件源使用Aliyun的软件源,因为docker的官方软件源在国外,在中国大陆访问非常缓慢。在中国大陆使用linux上大多数的在线服务,可能第一步都是换源。

看到这里,docker应该已经安装完成了。如果没有完成,但是脚本有输出,这没问题,可能还需要耐心等等。如果这条命令没有任何输出,可能你的网络无法请求到https://get.docker.com,需要手动配置命令行代理,设置代理命令如下,要记得将host和port替换为你自己的代理:

export http_proxy=host:port
export https_proxy=host:port

或者你可以使用本站提供的安装脚本,保证与官方一致,没有内置后门,但可能更新不够及时:

curl -fsSL https://www.glacierluo.com/getdocker/ | bash -s docker --mirror Aliyun

当安装完成后,你可能会看到一条提示:

sudo usermod -aG docker username

这里需要将命令中的username替换为你自己的用户名并执行。

这条命令的作用是将指定用户加入docker的用户组。

这样每次执行docker命令时便不用sudo来申请root权限了。

至此安装便结束了。

虽然你只是执行了一条写好的指令,但仍然可以从中学到很多。


docker在linux安装后是作为服务存在的,也就是说我们不应该用一般程序的启动方式(如./a.out)来启动它。

我们要用linux的服务管理器来管理它,服务管理器的命令一般是service或者systemctl,这两条命令一般是不太一样的,但这两条命令在ubuntu中都是存在的。

如果你的发行版是centos,它可能只有systemctl。

下面来演示一下如何用它们来启动docker,下面的两条命令是等效的。

注:在执行下面所有的命令前请先确定你当前使用的用户是否是root用户,如果不是,请务必在命令前加上sudo。

sudo service docker start
sudo systemctl start docker.service

在linux下很多情况中,没有消息就是好消息。(这不是绝对的)

正常来讲,这时docker已经启动了。

但你仍然不清楚它当前的状况,那么我再来介绍两条命令:

sudo service docker status # 查看指定服务状态,按q退出
sudo systemctl status docker.service # 查看指定服务状态,按q退出

当你输入上方指令后,如果一切顺利,你可以看到一个绿色的active (running),这时代表你的docker服务已经开始正常运行了。

如果没有,你也可以在这里看到详细的错误输出。

既然你能看到这里,那么服务管理的其他指令(如:stop、restart)相信你也能触类旁通,这里就不过多介绍了。


上文我们说过:“在中国大陆使用linux上大多数的在线服务,可能第一步都是换源。”

docker的镜像也是储存在云端的,所以我们也要切换docker的镜像源。

docker的镜像源配置文件默认存储在/etc/docker/daemon.json,这个文件默认是不存在的,需要你手动创建。

文件内写入下方内容:

{
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
    ]
}

这里使用了清华的docker源,如果你想,你也可以在其中加入其他的源。

配置写好后,重启docker服务即可。

sudo service docker restart
sudo systemctl restart docker.service 

此时可以随便拉一个docker image来测试一下速度:

docker pull alpine

拉取后,你可以使用下方命令来查看本地存储的docker image:

 docker image ls

正常的话可以看到如下图展示的alpine镜像。

Docker 操作基础入门-安装及启动

如果你不想要这个镜像在本地占用空间,可以删除它:

docker image rm alpine

至此docker入门的前期准备便完成了。

可以进一步学习下一部分知识了。

分享