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

时间:2023-03-09 17:23:41
ubuntu16.04 安装docker-ce,docker-compose

1 设置docker安装源

1.1 *安装

2019.12.19更新

如果还是 下载不了

*,在浏览器中下载https://download.docker.com/linux/ubuntu/gpg  是1个文本文件,  随便保存为docker_gpg

然后

sudo apt-key add ./docker_gpg
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.****.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 apt install 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。

看到新修改的路径,大功告成

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

如果之前已经有了一些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.****.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没装。

那就先装一下

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

老实说,不是很理解这种预装python但是不给装pip的行为。类似地。装了python,不给装dpkg。。。



#-----------------------------------------------------

如果pip 10报错,根据这个修改:

https://*.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.****.net/anliven/article/details/72888053是对的,我把步骤去掉了,只保留脚本内容

为了在vscode里不用sudo执行docker命令