yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
mkdir -p /opt/docker
#docker 19.xx 之后
sed -i 's/-H/ \-\-data\-root \/opt\/docker &/' /usr/lib/systemd/system/docker.service
#docker 19.xx及之前
sed -i 's/-H/ \-\-graph \/opt\/docker &/' /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
#可选 portainer (docker可视化管理平台)
docker pull 6053537/portainer-ce
docker volume create portainer_data
docker run \
-d \
--name portainer \
-p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
6053537/portainer-ce
Centos仅发行版本中的内核支持 Docker;
Docker 运行在 CentOS 7 上时,要求系统为64位、系统内核版本为 3.10 以上;
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
安装docker时要先卸载掉旧的docker。
首先确认Centos的系统是否为64位,内核版本是否满足上述条件,使用 uname -r
查看当前系统内核版本。
[root@localhost /]# uname -r
3.10.0-693.el7.x86_64
1. 删除Docker所在目录
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker
2. 干掉Docker进程
使用 ps -ef|grep docker
查询docker进程的PID
然后使用 kill -9 pid
kill掉docker进程
[root@localhost ~]# ps -ef|grep docker
root 98147 1 0 17:20 ? 00:00:00 /usr/bin/dockerd --data-root /opt/docker -H fd:// --containerd=/run/containerd/containerd.sock
root 103785 102158 0 17:24 pts/0 00:00:00 grep --color=auto docker
[root@localhost ~]# kill -9 98147
[root@localhost ~]#
3. 卸载Docker相关的包
使用命令 yum list installed | grep docker
查看相关的包
[root@localhost ~]# yum list installed | grep docker
containerd.io.x86_64 1.6.18-3.1.el7 @docker-ce-stable
docker-buildx-plugin.x86_64 0.10.2-1.el7 @docker-ce-stable
docker-ce.x86_64 3:23.0.1-1.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:23.0.1-1.el7 @docker-ce-stable
docker-ce-rootless-extras.x86_64 23.0.1-1.el7 @docker-ce-stable
docker-compose-plugin.x86_64 2.16.0-1.el7 @docker-ce-stable
docker-scan-plugin.x86_64 0.23.0-3.el7 @docker-ce-stable
[root@localhost ~]#
把匹配到的包用 yum remove
卸载掉
yum remove \
containerd.io.x86_64 \
docker-buildx-plugin.x86_64 \
docker-ce.x86_64 \
docker-ce-cli.x86_64 \
docker-ce-rootless-extras.x86_64 \
docker-compose-plugin.x86_64 \
docker-scan-plugin.x86_64
#安装命令
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#或使用国内 daocloud 一键安装命令
curl -sSL https://get.daocloud.io/docker | sh
Docker安装好后默认路径为 /var/lib/docker ,其下的containers文件夹为容器文件夹,image为镜像文件夹
1. 安装依赖软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-util 提供yum-config-manager
devicemapper 存储驱动程序需要依赖 device-mapper-persistent-data 和 lvm2
2. 设置yum源
#官方源(慢)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
#阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@localhost ~]#
3. 安装最新版本的 Docker 和 containerd(想安装指定版本看第四步)
#最新的docker社区版
yum install -y docker-ce docker-ce-cli containerd.io
4. 安装指定版本
要安装特定版本的 Docker ,先使用 yum list docker-ce --showduplicates | sort -r
在存储库中列出可用版本,然后选择并安装
[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包
* updates: mirrors.ustc.edu.cn
Loading mirror speeds from cached hostfile
* extras: mirrors.ustc.edu.cn
docker-ce.x86_64 3:23.0.1-1.el7 docker-ce-stable
docker-ce.x86_64 3:23.0.1-1.el7 @docker-ce-stable
docker-ce.x86_64 3:23.0.0-1.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.23-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.22-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.21-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.20-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.19-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.18-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.17-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.16-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.15-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.14-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.13-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.15-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
* base: mirrors.ustc.edu.cn
[root@localhost ~]#
软件包名称是docker-ce加上第二列版本字符串,从第一个冒号(:)到第一个连字符(-)之间的就是版本号,例:**docker-ce-20.10.9 docker-ce-cli-20.10.9**
#安装指定版本
yum install -y docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io
5. 指定docker最终竞选和容器路径(可跳过)
需要注意的时docker在19.xx及之前版本指定路径使用的是 --graph
;而在docker 19.xx之后指定路径时使用的是 data-root
(实测docker 20.10.21中也可以使用–graph)。
docker指定路径需要修改 /usr/lib/systemd/system/docker.service
,
直接使用代码修改(点一次,不小心加多了就去 /usr/lib/systemd/system/docker.service
删)
#docker 19.xx 之后
sed -i 's/-H/ \-\-data\-root \/opt\/docker &/' /usr/lib/systemd/system/docker.service
#docker 19.xx及之前
sed -i 's/-H/ \-\-graph \/opt\/docker &/' /usr/lib/systemd/system/docker.service
或者 vi /usr/lib/systemd/system/docker.service
找到 [Service]
,在 ExecStart
中加入 --graph /opt/docker
或 --data-root /opt/docker
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --graph /opt/docker -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
或者修改docker的配置文件/etc/docker/daemon.json
,效果一样。
#在其中添加
"graph":"/opt/docker"
#或
"data-root":"/opt/docker"
修改完了之后使用 systemctl daemon-reload
重新加载服务
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]#
6. 启动dokcer
#重启docker
systemctl restart docker
#设置开机启动
systemctl enable docker
portainer就是一个docker的可视化管理平台,这里的是中文版的
docker pull 6053537/portainer-ce
docker volume create portainer_data
docker run \
-d \
--name portainer \
-p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
6053537/portainer-ce
[root@localhost /]# yum install -y yum-utils device-mapper-persistent-data lvm2
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
One of the configured repositories failed (未知),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Disable the repository, so yum won't use it by default. Yum will then
just ignore the repository until you permanently enable it again or use
--enablerepo for temporary usage:
yum-config-manager --disable <repoid>
4. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
解决办法
修改 /etc/yum.repos.d/epel.repo
文件
vi /etc/yum.repos.d/epel.repo
注释metalink,放开baseurl注释,保存
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=https://repo.huaweicloud.com/epel/7/$basearch
#metalink=https://mirrors.fedoraproject.org/#metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
之后重建yum缓存
yum clean all
yum makecache
#update可选
yum update
解决办法
yum erase podman buildah
文章浏览阅读6.6k次。torch.onnx.export(model, args, f, export_params=True, verbose=False, training=False, input_names=None, output_names=None, aten=False, export_raw_ir=False, operator_export_type=None, opset_version=None, _retain_param_name=True, do_constant_folding=False, ex_torch.onnx.export参数解析
文章浏览阅读67次。转载请注明来源:http://blog.csdn.net/yihucha166/article/details/9046835Latent Dirichlet Allocation(LDA)是目前业界最为流行的机器学习方法之一,这里用C++实现了一个as-lda版本,使用了非对称的先验设置,随着主题数的增加,主题分布上比传统模型更加稳定,减少因为主题数量大而导致大量小众主题,参考文献《Reth..._lda源代码
文章浏览阅读2.8k次。类似文章太多,但是大多代码都有内存溢出的问题,而且都缺少c层调用java层的例子,实际上有了参考博文后,还是有很多坑需要自己填。不过,看了很多博主和帖子后还是能够解决一些问题,但是有些问题,根本找不到,所以我把音频解码播放还有控制部分做了比较详细的例子。ffmpeg的编译请参考我之前的文章,有编好的库文件在我的下载资源里,github的demo里也有。opensl库的引用也很简单,cmak..._android框架调用ffmpeg接口实现seek操作
文章浏览阅读1k次。目标效果:源码:import java.util.ArrayList;import java.util.Scanner;/** * 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 * @author Vivinia * *//*思路:每一个和数都由比较小的质数例如2,3,5...构成,所以可以从小的数开始除,只要能整除继续除以这个_java计算合数的因子并输出
文章浏览阅读2.6w次,点赞7次,收藏49次。制作基于XKT-510和T3168芯片的无线供电模块制作无线供电模块_xkt-510
文章浏览阅读2.1w次,点赞18次,收藏29次。MySQL8.0.16版本中新增了一个system_user帐户类型,当我通过phpAdmin新增用户并赋予权限时 CREATE USER 'homestead'@'%' IDENTIFIED WITH caching_sha2_password BY '***'; GRANT ALL PRIVILEGES ON *.* TO 'homestead'@'%' WITH GRANT OPTIO..._access denied; you need (at least one of) the system_user privilege(s) for t
文章浏览阅读3.3k次,点赞6次,收藏42次。弹性布局 使盒模型更加随心所欲的实现布局样式,使用弹性布局,让父级有能力改变子级的宽高,同时弹性布局与方向无关,适合于小规模布局写在父级作用于子级的属性_li flex 五等分
文章浏览阅读1.6w次,点赞5次,收藏82次。如果图片上有线条,图形什么的,人的眼睛可以直接看出来,这是人的直接反应。那么如何让电脑识别呢?换个角度说,用户怎么教电脑去识别图片。 图片在内存中是以二维矩阵的形式存储的,如果是彩图,则是GBR三通道,灰度图则是单通道。本教程用OpenCV去识别图形上的线条,曲线等轨迹。软件环境:Win7-32, VS2010, OpenCV2.4.9(1)以灰度图的方式导入图片..._c++实现低对比度图像线条或划伤检测
文章浏览阅读2.3k次,点赞2次,收藏7次。一旦你识别出所有的资源,下一步就是为它们定义终点。终点就是资源的URL,通常表现为复数形式的名词,如/users,/orders等。每个资源都应该至少有一个终点,并与一个或多个HTTP方法相关联。在Python中使用和构建REST API是一个非常重要的技能。通过这篇文章,我们已经了解了REST API的基本概念,以及如何在Python中进行操作。我们还了解了Flask、Django REST框架和FastAPI这三个最常用的工具,它们可以帮助我们更加高效地构建REST API。_python restful api 开发
文章浏览阅读3.7k次。安装Chevereto安装准备解决方案:配置数据库设置root密码:创建用户更改安全权限修改mariadb默认存储位置创建数据库连接数据库小结安装准备官网按照要求,上传index.php到服务器,得到下面的信息:Your websever lacks some requirements that must be fixed to install Chevereto.Please che..._chevereto 无法接到目标数据库
文章浏览阅读1.1w次,点赞7次,收藏47次。本文学习自《嵌入式软件动态运行时错误的检测》,主要是了解一下polyspace,工作过程中目前没有涉及到。背景和桌面系统不同,对于嵌入式软件系统,软件测试主要是发现以下类型的错误:功能错误 —— 主要借助项目需求文档,编写对应的测试用力进行测试与验证工作性能错误 —— 一般要借助硬件级别的工作,衡量软件的性能是否达到要求运行时错误 —— 软件在动态运行时出现的错误,是所有的软件错误..._polyspace
文章浏览阅读209次。1.2程序与程序设计语言 _程序设计语言必须有程序表达和