docker的安装和简单配置

docker的安装和简单配置

docker是balabalabala...懒得介绍。linux

国内安装docker很蛋疼,按照官方配置好了软件源以后,几十MB的安装文件下载要半天,没办法,docker默认的软件源是在国外的,速度很慢。幸亏国内有docker软件源镜像,注意这里说的是软件源镜像,也就是deb系统下的apt源镜像,只用来安装docker。docker

阿里提供了软件源镜像及安装的步骤,写的还算比较详细。这里摘录关键步骤以下:json

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/debian buster stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

本人用Debian sid系统,手里部分服务器使用Ubuntu系统,Ubuntu的安装很简单,阿里官方文档就有介绍,这里以有点麻烦的Debian sid进行讲解,纯属炫(low)技。ubuntu

上述命令,原文中都是ubuntu,这里简单将ubuntu替换为debian缓存

另外原文命令中的$(lsb_release -cs) 用于查询codename,这里直接替换为buster,注意,由于我用的是Debian sid,其对应的codename有可能在debian下面不存在,这里替换以前我是到这里确认过buster这个codename确实存在才这么写的。若是有新版的Debian sid(估计很快就有了),使用上一个版本的codename通常也没啥问题。安全

镜像源的配置

安装完了docker,还不能开心的使用,由于docker只是一个运行时,咱们真正要用的是在docker里面运行的各类images,可是这个images的镜像仍是在国外的,慢的要死。幸亏国内也有镜像,咱们可使用国内的镜像来代替国外镜像。执行如下命令:服务器

sudo mkdir /etc/docker/ # 若是这个文件夹不存在的话
sudo nano /etc/docker/daemon.josn # Fedora、Centos等系统这个文件的位置不一样。

能够在指定位置建立一个docker的配置文件,并打开,将如下内容写入文件并保存:ssh

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

这是一个json格式的文件。curl

注意,有一些docker插件如nvidia-docker等安装的时候也会要求修改这个文件,因此记得随时查看这个文件的内容并作相应的调整。socket

其实这里应该重启一下docker服务才能让服务生效的,可是咱们的设置还没作完,因此dwSun犯懒,就跟下次一块儿弄了。

免sudo使用

到这里,仍是不能愉快的使用,由于docker的cli跟dameon通讯用的socket文件他的全部权属于docker组,而当前用户不在docker组里面,因此只能sudo才能使用docker。啥,不明白dwSun这里写了个啥,不要紧,跟着操做就好了。

将用户加入 docker group 内。而后退出并从新登陆。

sudo gpasswd -a ${USER} docker

若是你跟dwSun同样比较懒,那么执行到这里而后直接

sudo reboot

就行了,能够安全的忽略后面的东西。

重启 docker 服务

sudo service docker restart

切换当前会话到新 group 或者重启 X 会话

newgrp - docker
OR
pkill X
OR
ctrl alt backspace

注意,最后一步是必须的,不然由于 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,因此 docker images 执行时一样有错。

测试

都弄好了,作个测试吧:

docker run hello-world

若是你的终端里面有hello world输出和一些奇奇怪怪但明显不是错误的提示,那么恭喜你,docker安装完成。

若是是服务器操做,有可能出现重启以后ssh登陆不上的状况,必需要到机器上登陆一下才能用远程ssh登陆,反正我碰到了。查了好久也没看明白是为啥,也许是docker的安装修改了iptables的设置,能够试试下面的操做让iptable容许ssh的链接:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT

参考

阿里docker参考文档: https://yq.aliyun.com/articles/110806

相关文章
相关标签/搜索