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.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 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。

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

如果之前已经有了一些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命令

ubuntu16.04 安装docker-ce,docker-compose的更多相关文章

  1. ubuntu16.04安装最新版docker、docker-compose、docker-machine

    安装前说明: 本文将介绍在ubuntu16.04系统下安装和升级docker.docker-compose.docker-machine. docker:有两个版本:docker-ce(社区版)和do ...

  2. Ubuntu16.04安装Docker、nvidia-docker

    Ubuntu16.04安装Docker.nvidia-docker Docker安装 1.更换国内软件源,推荐中国科技大学的源,稳定速度快(可选) sudo cp /etc/apt/sources.l ...

  3. 在Ubuntu 14.04安装和使用Docker

    Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...

  4. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  5. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务

    [摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...

  6. Ubuntu16.04安装kubernetes1.13集群

    Ubuntu16.04安装kubernetes1.13集群 最新的安装可以使用以下方式:https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/ ...

  7. ubuntu16.04安装klee

    ubuntu16.04安装klee(基于llvm 3.8)教程 前言 查阅了很多资料,踩了不少的坑,总的来说,这个应该是比较完善的基于llvm3.8和ubuntu16.04的安装教程,至少我自己按照这 ...

  8. ubuntu16.04安装jdk,tomcat

    ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...

  9. Ubuntu16.04 安装openjdk-7-jdk

    Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...

  10. Ubuntu16.04安装GTK3主题:OSX-Arc

    Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...

随机推荐

  1. Tensorflow学习笔记02-Session,Variable,placeholder

    Session会话控制 使用tensorflow创建两个矩阵,并使其相乘 matrix1=tf.constant([[3,3]]) matrix2=tf.constant([[2], [2]]) pr ...

  2. 关于functools模块的wraps装饰器用途

    测试环境:Python3.6.2 + win10 +  Pycharm2017.3 装饰器之functools模块的wraps的用途: 首先我们先写一个装饰器 # 探索functools模块wraps ...

  3. socket编程-阻塞和非阻塞

    转自:https://www.cnblogs.com/sunziying/p/6501045.html 建立连接 阻塞方式下,connect首先发送SYN请求道服务器,当客户端收到服务器返回的SYN的 ...

  4. mysql服务器iowait高优化一例完整深入解析

    我们有一服务器,上面运行着两个mysql实例,这几天iowait一直很高,在20-30%,下午特地专门排查和解决了下,相关过程整理如下. 该服务器有两个挂载盘,服务器在阿里云上,一个系统盘,一个数据盘 ...

  5. opencv学习之路(1)、示例程序

    一.介绍 工欲善其事必先利其器,首先当然是配置环境安装软件啦.  我安装的vs2012+opencv2.48以及opencv3.0.具体安装步骤按照浅墨大神的博客进行即可:http://blog.cs ...

  6. Bootstrap3基础 img-responsive 响应式图片

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  7. imx6ul linux4.1.15 LED驱动配置及heartbeat源码分析【转】

    本文转载自:https://blog.csdn.net/u010444107/article/details/78328807 1)查看内核配置wujun@wj-vBox:~/freescale/li ...

  8. SSM项目 单元测试中 注入bean 空指针异常

    ##特别 由于准备春招,所以希望各位看客方便的话,能去github上面帮我Star一下项目https://github.com/Draymonders/Campus-Shop java.lang.Nu ...

  9. GC 垃圾收集

    算法: 没有使用引用计数算法.使用的是GC Roots 可达性算法. 复制算法:新生代,老年代. 标记-整理算法:一般会对对象标记几次才会清理掉.然后从新整理物理内存空间. 分代收集算法:更加对象存活 ...

  10. 【JS】JavaScript中innerHTML与innerText,createTextNode的区别

    innerHTML和innerText 它们都会把元素内内容替换掉,区别在于: innerHTML 会把替换内容里的 HTML 标记解释执行. innerText 会把替换内容里的 HTML 标记原样 ...