centos7下更改docker镜像和容器的默认路径

笔者近期在服务器上搭建docker环境,可由于笔者是普通用户,在安装的时候就跳了很多坑,现在记录一下。

一、docker权限问题

据官方解释,搭建docker环境必须使用root权限,或者sudo装,但一般服务器是一个机构或者多个人共同使用的,只有管理员才能拿到root权限,所以建议需要使用docker的普通用户要向管理员申请,在他搭完服务器后再搭一个docker环境,并把你当前这个普通用户名加入到docker组内,这样你才能使用。

命令行

 sudo usermod -aG docker <your_username>

然后退出重新登陆。

二、搭建docker时不能pull or push 任何镜像

可能有两种原因

1,没有登陆docker hub

命令行:

    docker login

输入用户名和密码以及邮箱就可以了(没有用户帐号的需先访问docker hub注册一个账户)

2,网络无法访问docker hub

由于有时网络状态不好(国内网络大家都懂的),我们无法访问docker hub仓库,建议添加镜像源,很多博客推荐daoyun或者aliyun,我都试过,有时候还是不行,亲测了一个清华镜像源有效

安装docker过程:

1,安装依赖包

 yum install -y yum-utils device-mapper-persistent-data lvm2

2,下载docker源(使用清华镜像源)

yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

3,更新软件缓存

yum makecache fast

4,安装docker-ce

yum install docker-ce -y

5,启动docker

systemctl start docker.servic

6,(可选)设置成开机自启

chkconfig docker on

7,查看docker版本信息

docker info

8,如果要卸载

yum remove docker-ce

(删除所有镜像和容器)

rm -rf /var/lib/docker

三、更改docker镜像默认存储路径

  默认情况下,docker镜像的默认存储路径是/var/lib/docker,这相当于直接挂载系统目录下,而一般在搭系统时,这个区都不会太大,所以如果长期使用docker开发应用,就需要把默认的路径更改到/home路径下(这个区一般会分得比较多)

  命令行:

  vi /usr/lib/systemd/system/docker.service

  在文本内容ExecStart=/usr/bin/dockerd 后面添加如下内容:

  --graph  <your path>使得变成:

  ExecStart=/usr/bin/dockerd

                        --graph  <your path>

  然后重新加载配置文件

  systemctl daemon-reload

  最后重启即可

  systemctl restart docker

注:更改过后,之后卸载docker并删除所有镜像和容器的目录,就要rm -rf <your path>

四、测试pull or push 一个镜像

  有可能会出现TSL,重启一下docker服务即可。

  若出现error,建议去看下docker-ce.repo,

   vi /etc/yum.d.repos/docker-ce.repo

  查看所有的路径是否已经全部更改为我们之前设定的清华docker镜像源,如果没有,那就需要自己手动更改,附上清华镜像源网址https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/,然后对照内容更改所有的url(注意:可以disable edge 和test这两个版本,就不需要更改这两个版本的url)

以上就是我此次搭建docker环境遇到的坑,希望能对你有所帮助,如果喜欢的话就留个爪印吧!

原文地址:https://www.cnblogs.com/sunshine-love99/p/8650223.html