标题:Ubuntu 14 安装docker并修改默认路径
前言
在Ubuntu 14 上安装docker不是一件容易的事情,主要是没有官方的教程(在对Ubuntu的支持上,docker官方就支持16.04以上的版本)。中间我也遇到了一些麻烦,故在此作详细记录。
0 环境
Ubuntu 14.04 LTS 系统。
1 安装docker
一开始参考官网 [6] ,其要求是:
查看我的Ubuntu版本:
lsb_release -a
,输出:
赫然是 trusty,完全在docker支持之列。咋办???
我尝试过升级系统到16.04,因为我认为官方的教程最稳,但是我的系统在阿里云服务器上,没法从现有的Ubuntu 14升级到16(或者说很不稳定,不建议这样升级),除非备份数据,然后重新设置系统,那这就太麻烦了。
一番查找,中间进行了错误的尝试,如 [7] (这个是错的),最后才找到了 [8] ,参考之,运行:
# 这个是执行指定网页处的脚本
wget -qO- https://get.docker.com/ | sh
#这个是将docker赋予sudo权限
sudo usermod -aG docker $(whoami)
然后输入docker info
验证一下,能够输出docker详细信息即说明安装成功。
小结
找对网页的话,安装docker还是很简单的,就两行指令。但是难就难在现在的网上教程参差不齐,容易让人入坑。这也启发我,以后在写博客的时候要更加认真负责(态度要更加端正)。2 修改docker默认路径
在命令行输入:docker info
,就能看到docker的版本以及默认存储位置,通常是var/lib/docker
我现在想改成自定义的路径,操作如下:
1)搜索关键词定为:ubuntu 14 change docker root dir
,得到网页 [5],执行以下指令:
sudo service docker stop
即先关掉docker,然后运行sudo nano /etc/default/docker
,将DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4
改成 DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -g /home/dale/docker/"
;
2)运行sudo service docker start
,重新开启docker,而后docker info
查看存储路径,发现已经变为/home/dale/docker/
。
此外还参考了(但是用处不大):
- how to change root dir of docker on ubuntu 18.04 LTS? (docker change location of volumes) https://stackoverflow.com/questions/52488300/how-to-change-root-dir-of-docker-on-ubuntu-18-04-lts-docker-change-location-of
3 遇到的问题
systemctl 的使用
在参考 [1] 的时候,输入指令
systemctl stop docker
发现根本没有这个systemctl,于是参考 [2] 又去安装这个:sudo apt-get install systemd
一番折腾,重新运行,发现出错:Failed to issue method call: Access denied
最后参考 [3] 和[4]发现(如下图),systemctl这样的指令在Ubuntu 15 ,16以上的版本才有,所以我想多了。。。
4 反思
1)在尝试一件事情之前,一定要想好后果,是否能够回滚(roll back),如果是不可逆的改动,或者很难可逆的改动,那就要三思了,说不定电脑就崩了。人生也如是矣!
所以谨慎一点不是什么坏事。。。
2)搜索关键词要准确,才能找到合适的答案,尤其是Ubuntu,这么多个版本,有可能经常搜到不同版本的解决方案,到时候就可能造成一些意料之外的错误。
总结
参考文献
[1] How to move docker’s default /var/lib/docker to another directory on Ubuntu/Debian Linux https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux
[2] systemctl: command not found on ubuntu 16.04 https://askubuntu.com/questions/988266/systemctl-command-not-found-on-ubuntu-16-04
[3] How to use systemctl in Ubuntu 14.04 https://stackoverflow.com/questions/37438630/how-to-use-systemctl-in-ubuntu-14-04
[4] systemctl enable Failed to issue method call: Bad message https://askubuntu.com/questions/961676/systemctl-enable-failed-to-issue-method-call-bad-message
[5] change_docker_root_folder.txt https://gist.github.com/jokla/2632d3097b38c474eedf72b973262368
[6] Get Docker CE for Ubuntu https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository
[7] How to Install Docker on Ubuntu 14.04 LTS https://www.liquidweb.com/kb/how-to-install-docker-on-ubuntu-14-04-lts/
[8] How To Install and Use Docker Compose on Ubuntu 14.04 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-14-04