Ubuntu安装Docker及配置

Docker安装过很多次了,不过每次安装配置一堆东西,略微麻烦,记录一下。

安装docker

直接根据官网操作即可:Install Docker Engine on Ubuntu

安装后基本配置

一般需要配置两个东西:

  • 国内docker镜像源
  • docker数据目录

新建并编辑/etc/docker/daemon.json文件

$ sudo vim /etc/docker/daemon.json
{
  "registry-mirrors": [
    "http://hub-mirror.c.163.com"
  ],
  "data-root": "/opt/data/docker"
}
  • 其中,registry-mirrors中的内容修改为国内的镜像地址,这里使用的是网易的镜像,我一般使用阿里云的个人免费进行,比较快,不过需要去创建镜像仓库才能用, https://cr.console.aliyun.com/cn-hongkong/instances

  • data-root便是docker的数据目录,此处是/opt/data/docker, 如果不配置默认为/var/lib/docker, 经历过很多次根目录被docker数据占满的痛,所以每次都配置它...

免sudo执行docker命令

docker命令默认需要使用sudo执行,如果直接执行会报错:

[mi]➜  ~ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
[mi]➜  ~

从报错中可以看出,没有权限连接unix:///var/run/docker.sock文件,该文件就是/var/run/docker.sock,在终端中查看该文件:

[mi]➜  ~ sudo ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 7月   7 03:21 /var/run/docker.sock

从输出可知,该文件属主用户为root, 属组为docker, 而权限srw-rw----表示属主root有读写权限,而同组(docker)的用户也有读写权限。

所以可以知道,如果某个用户想免sudo执行docker命令,只需要加入到docker组即可。

  1. 创建docker组(已存在会报错,可忽略):
$ sudo groupadd docker
groupadd:“docker”组已存在
  1. 将当前用户加入到docker
$ sudo gpasswd -a ${USER} docker
正在将用户“staneyffer”加入到“docker”组中
  1. 重启docker
$ sudo systemctl restart docker
  1. 退出并重新登录当前用户即可

你可能感兴趣的:(Ubuntu安装Docker及配置)