让我们从一行代码开始:
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 image rm alpine
至此docker入门的前期准备便完成了。
可以进一步学习下一部分知识了。
Docker 操作基础入门-安装及启动:等您坐沙发呢!