ubuntu16.04下docker安装和简单使用(转)

时间:2022-09-18 07:39:30
 

前提条件

操作系统

docker-ce支持的ubuntu版本:

  • Bionic 18.04 (LTS)
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS)

卸载旧版本docker[可选]

$ sudo apt-get remove docker docker-engine docker.io --purge

支持的存储驱动程序

对于ubuntu16.04及以上版本,其linux内核中包含了对于OverlayFS的支持。Docker CE默认使用overlay2存储引擎,如果想要使用aufs,可参考aufs

安装 Docker CE

方法1: 使用repository进行安装

Step1. 更新源,安装相应的依赖包

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

Step2 安装Docker镜像

方式1> 安装国内阿里Docker CE镜像[国内推荐]

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

方式2> 安装docker的官方 GPG key[国内不推荐,需要*]:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

可能存在的问题:
如果等了很长时间也下载不了,说明被墙了,需要通过代理下载,例如使用本地的shawsocks代理

$ export https_proxy=socks5://127.0.0.1:1080
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

安装完成后,最好使用指纹9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88对key进行验证

$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22

Step3. 安装稳定版的repository

方式1> 阿里repository[国内推荐]

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

方式2> 官方repository[国内不推荐]

$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

4. 安装Docker CE

方式1) 安装最新版Docker CE
$ sudo apt-get update
$ sudo apt-get install docker-ce

如果使用国外官方镜像,可能存在以下问题:
update更新时间过长,一直卡住不动,形如:

$ sudo apt-get update
Hit:1 http://mirrors.aliyun.com/ubuntu xenial InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease
Hit:4 http://mirrors.aliyun.com/ubuntu xenial-security InRelease
0% [Working]

或是

  Could not resolve host: download.docker.com
Reading package lists... Done
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/InRelease Could not resolve host: download.docker.com

或是

Err:5 https://download.docker.com/linux/ubuntu xenial InRelease
Operation timed out after 0 milliseconds with 0 out of 0 bytes received
Reading package lists... Done
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/InRelease Operation timed out after 0 milliseconds with 0 out of 0 bytes received
方式2) 安装指定版本Docker CE
# 获取可用版本
$ apt-cache madison docker-ce
# 安装指定版本
$ sudo apt-get install docker-ce=<VERSION>
例如:
$ sudo apt-get install docker-ce=17.06.2~ce-0~ubuntu

5. 验证Docker CE是否成功安装

方式1) 以root身份运行hello-world

$ sudo docker run hello-world

方式2) 以普通用户身份运行hello-world

# 0. 首先要确保docker服务已经启动
$ systemctl status docker # 1. 使用root身份创建用户并设置密码,给用户添加及sudo权限[如果有普通用户可跳过,这里是为了演示需要]
# 创建新用户bob
# useradd -m -d /home/bob -s /bin/bash bob
# passwd bob
# tail -n 1 /etc/passwd
bob:x:1000:1000::/home/bob:/bin/bash # 该bob添加sudo权限
# usermod -aG sudo bob # 下面使用bob登录
# su - bob # 2. 创建名为docker的组
$ sudo groupadd docker # 3. 将当前用户加入到docker组中
$ sudo usermod -aG docker $USER # 4. 注销,如果远程登录先断开连接在重新连接,使得usermod修改生效,这一步非常重要 # 5. 验证
$ docker run hello-world

usermod修改后不会立即生效

# 查看当前用户所属组
$ groups
bob sudo # 查看指定用户所属组
$ groups bob
bob : bob sudo # 查看当前用户信息
$ id
uid=1000(bob) gid=1000(bob) groups=1000(bob),27(sudo) $ sudo usermod -aG docker bob
$ groups
bob sudo
$ id
uid=1000(bob) gid=1000(bob) groups=1000(bob),27(sudo)
# 可以发现usermod修改后并未立即生效 如果是远程登录,可以先断开连接再重新连接,或是使用su进行切换命令
$ su - bob
Password:
$ groups
bob sudo docker
$ id
uid=1000(bob) gid=1000(bob) groups=1000(bob),27(sudo),999(docker)
# 重新登录发现修改生效

方法2: deb包安装

deb包下载地址

方法3: 使用脚本一键安装

方式1> 使用阿里Docker镜像源安装脚本[国内推荐]

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

方式2> 使用官方安装脚本

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

开机启动

# 设置开机启动
$ sudo systemctl enable docker
# 关闭开机启动
$ sudo systemctl disable docker

Docker CE 彻底卸载

# Step1: 关闭服务
$ sudo service docker stop # Step2: 查看安装的软件包
$ dpkg -l | grep -i docker # Step3: 卸载
$ sudo apt-get purge -y docker-engine docker docker.io docker-ce
$ sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce # Step4: 删除相关数据和配置文件
$ sudo ls /var/lib/docker/
aufs containers image network plugins swarm tmp trust volumes
$ sudo rm -rf /var/lib/docker
$ sudo rm /etc/apparmor.d/docker
$ sudo groupdel docker
$ sudo rm -rf /var/run/docker /var/run/docker.sock # Step5: 删除interface docker0
$ sudo ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:03:99:8a:e8
$ sudo ip link del docker0

参考:

  • https://docs.docker.com/install/linux/docker-ce/ubuntu/
  • https://docs.docker.com/install/linux/linux-postinstall/
  • https://askubuntu.com/questions/935569/how-to-completely-uninstall-docker
  • https://yq.aliyun.com/articles/110806?spm=a2c4e.11153940.blogcont7695.8.62c41987TIV4bF

ubuntu16.04下docker安装和简单使用(转)的更多相关文章

  1. ubuntu16&period;04下docker安装和简单使用

    前提条件 操作系统 docker-ce支持的ubuntu版本: Bionic 18.04 (LTS) Xenial 16.04 (LTS) Trusty 14.04 (LTS) 卸载旧版本docker ...

  2. Ubuntu16&period;04下编译安装OpenCV3&period;4&period;0(C&plus;&plus; &amp&semi; python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  3. Ubuntu16&period;04 下如何安装搜狗拼音输入法【亲测有效】

    Ubuntu16.04 下如何安装搜狗拼音输入法[亲测有效]   一.添加fcitx键盘输入法系统[系统默认是iBus] 1.将下载源添加至系统源: sudo add-apt-repository p ...

  4. Ubuntu16&period;04下编译安装及运行单目ORBSLAM2

    官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...

  5. Ubuntu-16&period;04下Docker通过阿里云镜像安装(apt-get)

    由于通过官方路径安装docker时总是连接不上,所以从网上找了半天,通过阿里云镜像安装docker,我的Linux是ubuntu-16.04 一.配置源里的阿里云镜像仓库 sudo vim /etc/ ...

  6. Ubuntu16&period;04 下docker部署web项目

    概念性的请戳 第一步:更新apt-get update 第二步:安装环境 apt-get install \ apt-transport-https \ ca-certificates \ curl ...

  7. Redis、Redis&plus;sentinel安装(Ubuntu 14&period;04下Redis安装及简单测试)

    Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...

  8. ubuntu16&period;04下编译安装vim8&period;1

    之前写过一篇centos7下编译安装vim8.0的教程,ubuntu16.04相比centos7下安装过程不同在于依赖包名字的不同,其余都是一样.下面给出ubuntu16.04编译安装vim8.0需要 ...

  9. ubuntu16&period;04下g&plus;&plus;安装及使用

    1)首先在虚拟机中安装Ubuntu16.04,网络模式设置为NAT模式,安装完成后在虚拟机中测试是否能够上网. 2)进入Ubuntu,按Ctrl+alt+T,调出终端,输入sudo su,输入密码切换 ...

随机推荐

  1. python的class的&lowbar;&lowbar;str&lowbar;&lowbar;&lpar;&rpar;和&lowbar;&lowbar;repr&lowbar;&lowbar;&lpar;&rpar;函数

    repr(object) 返回一个可以用来表示对象的可打印字符串首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 否则,生成用尖括号包住的字符串,包含类型名和额外的信息(比如地 ...

  2. &lbrack;笔记&rsqb;JavaScript获得对象属性个数的方法

    //扩展对象的count方法 Object.prototype.count = ( Object.prototype.hasOwnProperty(‘__count__’) ) ? function ...

  3. &lbrack;三分&rsqb;HDOJ 5531 Rebuild

    题意:给n个点,以这n个点为圆心画圆,使得所有的圆与其相邻的圆相切. 求n个圆最小的面积和. 分析:很容易想到确定了其中一个圆的半径之后,其他的圆的半径也能随之确定了. 画一画三个点的和四个点的,会发 ...

  4. 怎么删除windows中无用的服务

    搜索cmd->以管理员身份打开 输入sc delete  服务名 回车即可

  5. Java文件合并

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...

  6. Java运行时环境---内存划分

    背景:听说Java运行时环境的内存划分是挺进BAT的必经之路. 内存划分: Java程序内存的划分是交由JVM执行的,而不像C语言那样需要程序员自己买单(C语言需要程序员为每一个new操作去配对del ...

  7. 十分钟&lpar;小时&rpar;学习pandas

    十分钟学习pandas 一.导语 这篇文章从pandas官网翻译:链接,而且也有很多网友翻译过,而我为什么没去看他们的,而是去官网自己艰难翻译呢? 毕竟这是一个学习的过程,别人写的不如自己写的记忆深刻 ...

  8. 学习笔记——在vue中如何配置Jest(一)

    最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好.后面会在学习过程中更新前面的那篇文章,加 ...

  9. 201621123002《JAVA程序设计》第一周学习总结

    1.本周学习总结 1.下载并安装JDK,设定path变量 Java SE Downloads 2.了解JD与JRE的区别与联系 3.下载eclipse并完成实现简单程序 Downloads 4.使用命 ...

  10. QT下载区

    http://download.qt.io/archive/qt/ 下载总网址: http://download.qt.io/ http://mirrors.hust.edu.cn/qtproject ...