在 Centos7 安装 Docker 详细命令行

37 篇文章 2 订阅

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

一、 yum源安装docker

1、通过 $ uname -r 命令查看你当前的内核版本

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

检查自己的liunx里面是否有docker镜像
$ rpm -qa|grep docker
 
 更新yum源
$ sudo yum update

3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

在这里插入图片描述

4、设置yum源

阿里镜像
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

官网
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

清华大学开源镜像库
$ sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce

在这里插入图片描述

5、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

6、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>     # 例如:sudo yum install docker-ce-17.12.0.ce

在这里插入图片描述
7、启动并加入开机启动

启动
$ sudo systemctl start docker

开机启动
$ sudo systemctl enable docker

8、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

在这里插入图片描述

9、卸载docker

删除安装包
yum remove docker-ce

删除镜像、容器、配置文件等
rm -rf /var/lib/docker

二、 离线 安装

主要是解决内网主机收束外网的访问权限,减少攻击面,先在能上网的机器上做离线安装包
(1)
下载安装包

yumdownloader --resolve docker-ce docker-ce-cli containerd.io

打包下载的安装包

tar -cvzf docker-ce.offline.tar *.rpm

上传到离线的主机上后解压

tar -xvzf docker-ce.offline.tar

安装docker

sudo rpm -ivh --replacefiles --replacepkgs *.rpm

启动docker

sudo systemctl start docker 

添加自己为docker组用户

sudo usermod -aG docker $USER

(2)
在https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/里面找这个docker-ce.repo文件
在这里插入图片描述

把下载好的docker-ce文件粘贴到/etc/yum.repos.d
docker-ce默认放置路径为/etc/yum.repos.d

执行安装即可

yum install docker-ce  

三、 docker 使用

Docker镜像源修改
修改或新增 /etc/docker/daemon.json

进入配置文件
vim /etc/docker/daemon.json

修改或添加
{"registry-mirrors": [
                            "http://hub-mirror.c.163.com",
                            "https://y0qd3iq.mirror.aliyuncs.com",
                            "https://docker.mirrors.ustc.edu.cn",
                            "https://registry.docker-cn.com"
                        ]
}

重启docker
systemctl restart docker.service

查看是否修改成功
docker info

启动、重启和关闭

sudo service docker start           #启动docker centos6.x的命令
sudo service docker restart         #重启docker centos6.x的命令
sudo service docker stop            #关闭docker centos6.x的命令

systemctl start docker              #启动docker服务
systemctl stop docker               #停止docker服务
systemctl restart docker            #重启docker服务

sudo systemctl start docker         #启动docker centos7.x 命令
sudo systemctl restart  docker      #重启docker centos7.x 命令
sudo systemctl stop docker          #关闭docker centos7.x 命令
systemctl status docker             #查看docker服务

docker images                      #查看镜像文件
docker ps                          #查看运行的容器

docker start名称或者ID号            #开启容器
docker stop 名称或者ID号            #关闭容器

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)        #启动所有docker容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)         #关闭所有的容器命令

docker rmi ID号                    #删除镜像
doeker rm 容器id                   #删除容器

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)         #docker中 删除所有的镜像
docker container prune            #docker中 删除所有的容器命令

docker rmi $(docker images | awk '{print $3}' |tail -n +2)         #docker中 删除所有的镜像

查看容器启动日志

docker logs -f -t --tail 10 smartbus                          #实时查看docker容器名为smartbus的最后10行日志
docker logs -f -t --since="2020-08-06" --tail=100 smartbus    #查看指定时间后的日志,只显示最后100
docker logs --since 30m smartbus                              #查看最近30分钟的日志
docker logs -t --since="2020-08-06T13:13:13" smartbus         #查看某时间之后的日志
docker logs -t --since="2020-08-01T13:13:13" --until "2020-08-06 13:13:13" smartbus                      #查看某时间段的日志
docker logs -f -t --since="2020-08-01" smartbus | grep error >>logs_error.txt                            #将错误日志写入文件

「⚠️」 tail -n +2 表示从第二行开始读取

**四、Docker镜像以及Docker源地址

docker 官网
https://download.docker.com
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

网易开源镜像库
http://mirrors.163.com/centos/7/os/x86_64/Packages/

阿里云镜像源
https://developer.aliyun.com/mirror/

清华大学开源镜像库
https://mirrors.tuna.tsinghua.edu.cn/docker-ce
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/

中国科技大学Docker源
https://docker.mirrors.ustc.edu.cn

Docker中国
https://registry.docker-cn.com

网易Docker源
http://hub-mirror.c.163.com

ustc Docker源
https://docker.mirrors.ustc.edu.cn

**五、问题

2020.5.9
之前已经安装过旧版本的docker,在安装的时卸载旧版本(如果安装过旧版本的话)**

卸载
$ sudo yum remove docker  docker-common docker-selinux docker-engine


再次安装docker
$ sudo yum install docker-ce

ok,这就已经安装完成了!

——————————————————————————

2020-07-16 更新docker 针对所有容器的使用方法

设置docker 内容器自启

docker update --restart=always xxx(容器名)

——————————————————————————

2022.4.11 更新

使用yum时候报错

Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 402351.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  26 M RSS (419 MB VSZ)
    Started: Mon Apr 11 14:47:58 2022 - 19:13 ago
    State  : Traced/Stopped, pid: 402351
停止yum进程
[root@localhost ~]# rm -f /var/run/yum.pid

yum自动更新机制自动激活了yum进程,用下面的命令停止自动更新:
[root@localhost ~]# /etc/init.d/yum-updatesd stop

如果我们不需要自动更新服务,可以直接删除它。 
yum remove yum-updatesd 

以后的更新手动执行。 
yum update

——————————————————————————

2022.4.12 docker启动失败记录问题及解决方案
linux的内核中的SELinux不支持 overlay2 graph driver
可以在docker里禁用selinux,设置参数–selinux-enabled=false

编辑/etc/sysconfig/docker

vi /etc/sysconfig/docker

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false' 

修改为
OPTIONS='--selinux-enabled=false --log-driver=journald --signature-verification=false'
启动服务 
systemctl start docker.service

欢迎点赞、关注和评论哦!
如果你也是技术宅,如果你也对技术渴望提升,那么我们是同一类人,欢迎大家关注我的个人公众号,我们一起进步吧!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值