(本人初学整理,谨供参考,错误和不足麻烦大佬们指出)
官方资料:
Docker 官网:http://www.docker.com
Github Docker 源码:https://github.com/docker/docker
Docker 英文文档网址:https://docs.docker.com/
Docker 中文文档网址:http://docker-doc.readthedocs.io/zh_CN/latest/
官网参考:
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
docker加速器
在国内使用docker的官方镜像源,会因为网络的原因,造成无法下载,或者一直处于超时。所以我们使用 daocloud的方法进行加速配置。
加速器文档链接:http://guide.daocloud.io/dcs/daocloud-9153151.html
方法:
访问 https://dashboard.daocloud.io 网站,登录 daocloud 账户
点击右上角的 加速器
在新窗口处会显示一条命令,
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
#我们执行这条命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
#重启docker
systemctl restart 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常见问题:
因为使用的是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代表该文件是一个文件夹前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。
方法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
ocker group 就添加一个:
$sudo groupadd docker
#将用户加入该 group 内。然后退出并重新登录就生效啦。
$sudo gpasswd -a ${USER} docker
#重启 docker 服务
$systemctl restart docker
#切换当前会话到新 group 或者重启 X 会话
$newgrp - docker
#注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。