ubuntu16.04 安装docker-ce,docker-compose


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命令


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM