Ubuntu安装Docker及配置
2022-07-12 本文已影响0人
程点
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
组即可。
- 创建docker组(已存在会报错,可忽略):
$ sudo groupadd docker
groupadd:“docker”组已存在
- 将当前用户加入到
docker
组
$ sudo gpasswd -a ${USER} docker
正在将用户“staneyffer”加入到“docker”组中
- 重启docker
$ sudo systemctl restart docker
- 退出并重新登录当前用户即可