您的位置:首页 > 运维架构 > Docker

Docker快速入门

2019-06-04 20:31 711 查看

1.1 docker快速入门

1.1.1docker历程:

​ 自2013年出现以来,发展势头很猛,现在可说是风靡全球。

​ docker的第一版为0.1.0 发布于2013年03月23日

​ Docker2017年改版前的版本号是1.13.1发布于2017年02月08日

​ Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月,有点类似于ubuntu的版本发布方式。
​ 企业版自然会提供一些额外的服务,当然肯定也是收费的。
​ 企业版说明https://blog.docker.com/2017/03/docker-enterprise-edition/
社区版分为stable和edge两种发布方式。

stable版本是季度发布方式,比如17.03, 17.06, 17.09

edge版本是月份发布方式, 比如17.03, 17.04…

1.1.2 官方要求

为什么用ubuntu学docker

图片来源:https://docs.docker.com/engine/installation/#server

docker要求的ubuntu环境

ubuntu下载地址:https://www.ubuntu.com/download/desktop

ubuntu主机环境需求

#执行命令
$ uname -a
$ ls -l /sys/class/misc/device-mapper
执行效果

1.1.3 部署docker

官网参考:

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#upgrade-docker-after-using-the-convenience-script

安装步骤

#安装基本软件
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y
#使用官方推荐源{不推荐}#
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
#使用阿里云的源{推荐}
$ sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

#软件源升级
$ sudo apt-get update

#安装docker
$ sudo apt-get install docker-ce -y

#注:
#可以指定版本安装docker:
$ sudo apt-get install docker-ce=<VERSION> -y

#查看支持的docker版本
$ sudo apt-cache madison docker-ce
#测试docker
docker version

网卡区别:

安装前:只有ens33和lo网卡

安装后:docker启动后,多出来了docker0网卡,网卡地址172.17.0.1

1.1.4 docker加速器

在国内使用docker的官方镜像源,会因为网络的原因,造成无法下载,或者一直处于超时。所以我们使用 daocloud的方法进行加速配置。
加速器文档链接:http://guide.daocloud.io/dcs/daocloud-9153151.html

方法:

访问 https://dashboard.daocloud.io 网站,登录 daocloud 账户

点击右上角的 加速器

在新窗口处会显示一条命令,

#我们执行这条命令
curl<
4000
/span> -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

#修改daemon.json文件,增加

, "insecure-registries": []

#到大括号后

# cat /etc/docker/daemon.json

{"registry-mirrors": ["http://f1361db2.m.daocloud.io"], "insecure-registries": []}

#注意:
#docker cloud加速器的默认内容是少了一条配置,所以我们要编辑文件把后面的内容补全
#重启docker
systemctl restart docker

1.1.5 docker 其他简介

docker的基本命令格式:

#基本格式
systemctl [参数] docker
#参数详解:
start         开启服务
stop          关闭
restart       重启
status        状态

删除docker命令:

$  sudo apt-get purge docker-ce -y
$  sudo rm -rf /etc/docker
$  sudo rm -rf /var/lib/docker/

docker基本目录简介:

/etc/docker/                #docker的认证目录
/var/lib/docker/            #docker的应用目录

docker常见bug:

背景

​ 因为使用的是sudo安装docker,所以会导致一个问题。以普通用户登录的状况下,在使用docker images时必须添加sudo,那么如何让docker免sudo依然可用呢?

理清问题

​ 当以普通用户身份去使用docker命令时,出现以下错误:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/create?fromSrc=-&message=&repo=ubuntu-16.04&tag=: dial unix /var/run/docker.sock: connect: permission denied

​ 可以看都,最后告知我们时权限的问题。那么在linux文件权限有三个数据左右drwxrwxrwx,其中第一为d代表该文件是一个文件夹前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。

​ 上图是报错文件的权限展示,可以看到其属主为root,权限为rw,可读可写;其属组为docker,权限为rw,可读可写。如果要当前用户可直接读取该文件,那么我们就为docker.sock 添加一个其他用户可读写权限 或者添加1个用户组就可以了

方法1:一劳永逸
#如果还没有 docker group 就添加一个:
$sudo groupadd docker
#将用户加入该 group 内。然后退出并重新登录就生效啦。
$sudo gpasswd -a ${USER} docker
#重启 docker 服务
$systemctl restart docker
#切换当前会话到新 group 或者重启 X 会话
$newgrp - docker
#注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,
#所以 docker images 执行时同样有错。
方法2:
#每次启动docker或者重启docker的之后
$cd /var/run
$sudo chmod 666 docker.sock
方法3:每条命令前面加上sudo


.AVI

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: