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环境遇到的坑,希望能对你有所帮助,如果喜欢的话就留个爪印吧!
centos7下更改docker镜像和容器的默认路径的更多相关文章
- 修改docker镜像和容器的存放路径
		
默认情况下,镜像和容器存放的路径是/var/lib/docker. 要修改这个设置很简单,把指定的目录软链到这个目录,或者将一个单独的分区挂载到这个目录,或者直接修改docker启动参数. 查看使用帮 ...
 - centos7下安装docker(19容器架构)
		
What,Why,How What:什么是容器? 说起容器大家想到的是什么? 集装箱(container),虚拟机,docker,k8s 1. 没毛病,因为容器与集装箱的英文都可以翻译成co ...
 - centos7下安装docker(11容器操作总结)
		
这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs:还学习了对容器的资 ...
 - centos7下安装docker(10容器底层--cgroup和namespace)
		
cgroup和namespace是实现容器底层的重要技术 cgroup:实现资源限制 namespace:实现资源隔离 1.cgroup:control group Linux操作系统通过cgroup ...
 - centos7下安装docker(9容器对资源的使用限制-内存)
		
一个docker Host上面会运行若干容器,每个容器都需要CPU,内存和IO资源.容器提供了控制分配多少CPU,内存给每个容器的机制,避免摸个容器因占用太多资源而影响其他 ...
 - Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效
		
我们通过 yum 的方式安装完Docker环境后,它默认的存储位置是 /var/lib/docker,默认的 pid 存放位置是 /var/run/docker.pid. 如果仅仅是做测试,我们可能没 ...
 - centos 如何修改docker镜像和容器的默认存放路径
		
原因:通过df -h查看磁盘利用的时候,目前挂载的太小了,所以尝试挂载到其他地方 1 先看看默认存放的路径在哪儿 方法1:docker info 方法2:sudo docker info | grep ...
 - centos7下安装docker与镜像加速
		
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
 - docker(一) Centos7下安装docker
		
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
 
随机推荐
- Exception sending context initialized event to listener instance of class
			
1.错误描述 严重:Exception sending context initialized event to listener instance of class org.springframew ...
 - Error:Error #2174
			
1.错误描述 Error:Error #2174 : 对于每个FileReference,每次只能执行一个下载.上载.加载或保存操作 2.错误原因 Flex中,在做单文件上传时,多次点击"上 ...
 - WPF自学入门(一)WPF-XAML基本知识
			
一.基本概念 1.XAML是派生自XML的可扩展应用程序标记语言(Extensible Application Markup Language)由微软创造应用在WPF,Silverlight等开发技术 ...
 - 异常-----freemarker.template.TemplateException: Error executing macro: write
			
freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...
 - SAXParser解析xml文件
			
对于xml的解析,这里学习并演示使用SAXParser进行解析的样例. 使用此种方法无法解析"gb2312"编码的xml文件,因此,此处xml文件编码设置为"UTF-8& ...
 - 【BZOJ3530】数数(AC自动机,动态规划)
			
[BZOJ3530]数数(AC自动机,动态规划) 题面 BZOJ 题解 很套路的\(AC\)自动机+\(DP\) 首先,如果长度小于\(N\) 就不存在任何限制 直接大力\(DP\) 然后强制限制不能 ...
 - 【CJOJ1167】【洛谷1894】[USACO4.2]完美的牛栏
			
题面 Description 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来 ...
 - POJ1741
			
树分治,每次把每个点的deep取出,排序...尺取法... # include <stdio.h> # include <stdlib.h> # include <ios ...
 - CODEFORCES 25E Test
			
题意 三个字符串,找一个字符串(它的子串含有以上三个字符串)使它的长度最短,输出此字符串的长度. 题解 先枚举字符串排列,直接KMP两两匹配,拼接即可...答案取最小值.. 常数巨大的丑陋代码 # i ...
 - hadoop第二课
			
1.1为什么需要Hadoop (1)数据分析者面临的问题 – 数据日趋庞大,读写都出现性能瓶颈: – 用户的应用和分析结果,对实时性和响应时间 要求越来越高: – 使用的模型越来越复杂,计算量指数级 ...