设为首页 收藏本站
查看: 1819|回复: 0

[经验分享] ubuntu16.04下docker安装和简单使用

[复制链接]

尚未签到

发表于 2019-2-18 11:31:45 | 显示全部楼层 |阅读模式
前提条件
操作系统
  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-commonStep2 安装Docker镜像
  方式1> 安装国内阿里Docker CE镜像[国内推荐]
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -  方式2> 安装docker的官方 GPG key[国内不推荐,需要FQ]:
$ 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) 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 updateHit:1 http://mirrors.aliyun.com/ubuntu xenial InReleaseHit:2 http://mirrors.aliyun.com/ubuntu xenial-updates InReleaseHit:3 http://mirrors.aliyun.com/ubuntu xenial-backports InReleaseHit:4 http://mirrors.aliyun.com/ubuntu xenial-security InRelease0% [Working]  或是
  Could not resolve host: download.docker.com  
Reading package lists... DoneW: 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=例如:  
$ 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/passwdbob: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 bobbob : bob sudo# 查看当前用户信息$ iduid=1000(bob) gid=1000(bob) groups=1000(bob),27(sudo)$ sudo usermod -aG docker bob$ groupsbob sudo$ iduid=1000(bob) gid=1000(bob) groups=1000(bob),27(sudo)# 可以发现usermod修改后并未立即生效如果是远程登录,可以先断开连接再重新连接,或是使用su进行切换命令$ su - bobPassword:  
$ groupsbob sudo docker$ iduid=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 dockerDocker 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 ifconfigdocker0   Link encap:Ethernet  HWaddr 02:42:03:99:8a:e8  
$ sudo ip link del docker0
  ----------------------------------
  启动docker        systemctl start docker
  守护进程重启   sudo systemctl daemon-reload
  重启docker服务   systemctl restart  docker
  重启docker服务  sudo service docker restart
  关闭docker   service docker stop
  关闭docker  systemctl stop docker
  ----------------------------
  停止所有的container,这样才能够删除其中的images:
  docker stop $(docker ps -a -q)
  如果想要删除所有container的话再加一个指令:
  docker rm $(docker ps -a -q)
  查看当前有些什么images
  docker images
  删除images,通过image的id来指定删除谁

  docker rmi   想要删除untagged images,也就是那些id为的image的话可以用
  docker rmi $(docker images | grep "^" | awk "{print $3}")
  要删除全部image的话
  docker rmi $(docker images -q)
  强制删除全部image的话
  docker rmi -f $(docker images -q)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673932-1-1.html 上篇帖子: ubuntu atp&dpkg 下篇帖子: ubuntu初学者应该注意的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表