1 设置docker安装源
1.1 翻墙安装
2020.0702 更新
参考https://www.cnblogs.com/wxxf/p/12976421.html
1 允许apt以https方式安装
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
2 添加密钥
翻墙,在浏览器中下载https://download.docker.com/linux/ubuntu/gpg 是1个文本文件, 随便保存为docker_gpg
然后
sudo apt-key add ./docker_gpg
3设置安装源 mint20
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
4 安装
sudo apt-get update sudo apt-get -y install docker-ce docker-ce-cli containerd.io
2019.12.19更新
curl -sSL https://get.docker.com/ | sh
如果报
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
提示 docker-ce : 依赖: libseccomp2 (>= 2.3.0) 但是 2.2.3-3ubuntu3 正要被安装
sudo aptitude install docker-ce
1.2 使用阿里云安装
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable"
sudo apt install docker-ce
1.3 官网安装
20190904
官网 https://docs.docker.com/install/linux/docker-ce/ubuntu/
sudo add-apt-repository "deb https://download.docker.com/linux/ubuntu bionic stable"
mint要删掉 deb 后面的 [arch=amd64] 不然不会成功
2018.11.14更新
参考https://blog.csdn.net/qq_38199832/article/details/77803645
sudo curl -sSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
如果报错:
sudo xed /etc/resolv.conf
添加阿里的dns
nameserver 223.5.5.5
nameserver 223.6.6.6
就可以了
2配置docker-ce
sudo groupadd docker
sudo usermod -aG docker $USER newgrp - docker
修改默认image存储路径,否则默认在/var/lib/docker,一般我分区 除了swap,只给整个/挂载10G, 其他都给/home。
https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169/21
创建文件:
sudo xed /etc/docker/daemon.json
添加如下内容:
{
"graph": "/home/docker"
}
重启:
sudo service docker restart
docker info
看到新修改的路径,大功告成
如果之前已经有了一些image。会被清光-_-!
不用移动了 sudo mv /var/lib/docker /home/docker
#-----------------------
如果docker-info报错
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/info: dial unix /var/run/docker.sock: connect: permission denied
根据要建立docker用户组,http://blog.csdn.net/baidu_36342103/article/details/69357438
重新
newgrp - docker
3 安装docker-compose
docker-compose是个python写的命令行程序,可以直接pip安装,也在github上有地址https://github.com/docker/compose,可以直接clone下来python setup.py install 安装
3.1 用pip3安装
python2渐渐不支持了,所以不再用python2来安装了。
不论pip还是pip3, ubuntu都没自带需要安装
所以先安装python3-pip(这样是给ubuntu18自带的python3.6用的)
注意,这是python2.7的
sudo apt-get install -y python3-pip
sudo pip3 install setuptools
sudo pip3 install --upgrade pip
pip 前面要加sudo,否则安装在当前用户下,没法用sudo安装全局的包
最后直接pip安装
sudo pip3 install docker-compose
3.2 官方安装方式
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
今天忽然发现docker-compose这么安装,第二个包死活下载不下来,也许是因为用到了aws服务器,但是因为开某大会给封了?真是疯了。
千难万险难不倒真XX党X员(手动斜眼)。
如果pip没装。
那就先装一下
老实说,不是很理解这种预装python但是不给装pip的行为。类似地。装了python,不给装dpkg。。。
#-----------------------------------------------------
如果pip 10报错,根据这个修改:
https://stackoverflow.com/questions/28210269/importerror-cannot-import-name-main-when-running-pip-version-command-in-windo
/usr/bin/pip
from:
from pip import main
if __name__ == '__main__':
sys.exit(main())
to this:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
4 其他
安装 bridge-utils 不然没法用brctl show 查看docker网络
sudo apt install bridge-utils
安装好之后
docker run hello-world
网上很多安装的是老版的lxc-docker
这个版本http://blog.csdn.net/anliven/article/details/72888053是对的,我把步骤去掉了,只保留脚本内容
为了在vscode里不用sudo执行docker命令