Linux安装Docker

一、Docker系统版本介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口 (没有 API)。独立的进程运行在每个容器中,并拥有自己的网络和 IP 地址。容器可以在任何机器上运行,无论宿主机的操作系统和配置如何。

Docker版本分为CE社区版和EE企业版。企业版强调安全性,需付费使用。Docker支持64位版本的CentOS 7和CentOS 8及更高版本,要求Linux内核版本不低于3.10。


查看Linux版本

  • lsb_release -a
  • cat /etc/redhat-release

注意:如果系统不支持  lsb_release -a 命令,可使用 cat /etc/redhat-release 命令。

云服务器

本机


 查看Linux内核版本:

  • cat /proc/version
  • uname -a
  • uname -r

满足(要求Linux内核版本不低于3.10)

 二、安装Docker

2.1、在线安装

  • 查看是否安装docker
yum list installed | grep docker
  • 安装docker
yum -y install docker
  • Linux 安装默认存放位置
cd /var/lib/docker  默认安装路径,容器/镜像存放在此目录下。
镜像位置: /var/lib/docker/image
容器位置: /var/lib/docker/containers
  • 启动docker 
systemctl start docker
  • 停止docker
systemctl stop docker
  • 重启docker 
systemctl restart docker
  • 查看docker服务状态
systemctl status docker

2.2、离线安装

  • 创建下载目录
mkdir /usr/local/docker
cd /usr/local/docker
  • 下载对应版本
  • 安装包官方地址:https://download.docker.com/linux/static/stable/x86_64
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.03.0-ce.tgz
  • 解压文件
tar -zxvf docker-18.03.0-ce.tgz
  •  解压出来的docker文件复制到 /usr/bin/ 目录下
cp docker/* /usr/bin/
  • 在/etc/systemd/system/目录下新增docker.service文件,这样可以将docker注册为service服务以方便开机启动
vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[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 --selinux-enabled=false --insecure-registry=127.0.0.1
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target
  • 给docker.service文件添加执行权限  (如果文件没有执行权限,系统可能无法正确加载和启动 Docker 服务)
chmod +x /etc/systemd/system/docker.service
  • 重新加载配置文件
systemctl daemon-reload
  • 启动docker
systemctl start docker
  • 查看docker服务状态
systemctl status docker
  • 停止docker
systemctl stop docker

三、配置镜像加速器

为什么配置加速器?

使用阿里云镜像加速器可以加速Docker的镜像拉取过程。Docker通常需要从Docker官网拉取镜像,但是官网的镜像库在国外,导致下载速度较慢。阿里云镜像加速器可以将Docker官方镜像拉取到国内的阿里云镜像库中,从而加速拉取过程。即使阿里云镜像库中没有所需的镜像,也可以使用阿里云镜像加速器来加速从Docker Hub的拉取。

查看docker 版本 docker -v

阿里云:https://cr.console.aliyun.com/cn-beijing/instances/mirrors

注意:登录阿里云账号,查看自己的镜像加速器 

# 进入一下目录
[root@xiaojian /]# cd /etc/docker# 执行脚本,将JSON串反写到daemon.jsonn文件中
[root@xiaojian docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://qil6pc2r.mirror.aliyuncs.com"]
}
EOF# 重新加载配置 (重新加载 systemd 守护进程。当你修改了 systemd 的服务文件时,这个命令会让 systemd 重新加载配置,使新的服务配置生效。)
[root@xiaojian docker]# sudo systemctl daemon-reload# 重启docker
[root@xiaojian docker]# sudo systemctl restart docker

四、Docker Registry 安装

  • 查看registry 的镜像版本
[root@xiaojian system]# docker search registry
NAME                             DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
registry                         The Docker Registry 2.0 implementation for s…   3867                [OK]                
verdaccio/verdaccio              Verdaccio Official Docker Image: A lightweig…   186                                     [OK]
distribution/registry            WARNING: NOT the registry official image!!! …   57                                      [OK]
google/docker-registry           Docker Registry w/ Google Cloud Storage driv…   55                                      
apache/nifi-registry             Unofficial convenience binaries for Apache N…   42                                      
docker/dtr                       Docker Trusted Registry                         15                                      
docker/migrator                  Tool to migrate Docker images from a v1 regi…   8                                       [OK]
vmware/registry                                                                  6                                       
snyk/container-registry-agent    Container registry agent allows securely con…   2                                       
silintl/registry-proxy           A reverse proxy for the Docker Registry 2.0     1                                       [OK]
vmware/registry-photon                                                           0                                       
drud/registry                                                                    0                                       
hephy/registry                   Docker image registry for the Hephy - Fork o…   0                                       
runcitadel/registry-photon                                                       0                                       
okteto/registry-auth                                                             0                                       
kope/registry                                                                    0                                       
reseaucerta/registry                                                             0                                       
opensuse/registry                Docker registry based on openSUSE.              0                                       [OK]
hephy/registry-proxy                                                             0                                       
bitnami/schema-registry          Bitnami Docker Image for Schema Registry        0                                       
astronomerinc/ap-registry        Docker registry for the Astronomer Platform.    0                                       
okteto/registry-configurator                                                     0                                       
okteto/registry                                                                  0                                       
docker/trusted-registry-index    Search Index for Docker Trusted Registry        0                                       
hephy/registry-token-refresher                                                   0                                       
[root@xiaojian system]# 
  •  下载registry 镜像
docker pull registry
  •  创建一个本地目录,用于映射本地目录到docker里
mkdir -p /usr/local/docker/dockerhub/
  •  启动registry镜像
docker run -d -v /usr/local/docker/dockerhub:/var/lib/registry -p 5000:5000 --restart=always --name dockerhub-registry2.0 registry

用于运行一个Docker Registry容器并将 /usr/local/docker/dockerhub 目录映射到容器的 /var/lib/registry 目录

  1. -d 选项表示在后台运行容器。
  2. -v /usr/local/docker/dockerhub:/var/lib/registry 选项将主机上的 /usr/local/docker/dockerhub 目录映射到容器内的 /var/lib/registry 目录,使得容器内的数据持久化到主机上。
  3. -p 5000:5000 选项将容器的端口 5000 映射到主机的端口 5000,使得外部可以通过主机的端口 5000 来访问容器内的Docker Registry服务。
  4. --restart=always 选项表示容器退出后自动重启。
  5. --name dockerhub-registry2.0 为容器指定一个名称,方便后续管理和访问。
  6. registry 是Docker官方提供的Registry镜像名称。

通过这个命令,您可以在本地主机上运行一个名为 dockerhub-registry2.0 的Docker Registry容器,并将 /usr/local/docker/dockerhub 目录作为存储目录。 

  • 查看registry是否启动成功
curl http://127.0.0.1:5000/v2
  •  命令查看Docker Registry容器是否已成功启动
docker ps -a

  • 补充 

--insecure-registry 是一个Docker daemon的选项,用于允许Docker从指定的不安全的注册表(insecure registry)拉取和推送镜像,即使该注册表没有进行TLS认证或者使用了自签名证书。

如果你在自己的局域网内部搭建了Harbor私有仓库,并且希望Docker从该仓库拉取和推送镜像,那么你需要在Docker daemon配置文件中(通常是/etc/docker/daemon.json)添加以下内容:

{  "insecure-registries": ["你的私服IP"]  
}

替换 "你的私服IP" 为你的Harbor私有仓库的IP地址或者域名。

需要注意的是,由于这会绕过TLS认证和证书检查,所以这种做法只应该在Harbor私有仓库是在你完全信任的网络内部,并且能够保证通信的安全性时使用。在生产环境中,应该尽量避免使用不安全的注册表。

五、验证docker

  • 拉取镜像
docker pull hello-world
  • 列出所有镜像
docker images
  • 运行镜像
docker run hello-world

六、设置开机自启

  • 查看所有已启动的服务
systemctl list-units --type=service
  • 查看已设置的开机启动服务
systemctl list-unit-files | grep enable
  •  设置开机自启
systemctl enable docker.service
  •  关闭开机自启
systemctl disable docker.service

七、卸载docker

  • 检查docker状态
systemctl status docker
  •  停止docker运行
systemctl stop docker
  •  卸载 Docker 软件包
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
  • 删除 Docker 相关文件和目录
sudo rm -rf /var/lib/docker
  • 删除 Docker 用户和组
sudo userdel -r docker
  • 删除 Docker 配置文件
sudo rm -rf /etc/docker

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

诚迈科技荣膺小米“最佳供应商奖”

近日&#xff0c;诚迈科技受邀参加小米战略合作伙伴HBR总结会。诚迈科技以尽职尽责的合作态度、精益求精的交付质量荣膺小米公司颁发的最佳供应商奖&#xff0c;其性能测试团队荣获优秀团队奖。 诚迈科技与小米在手机终端方向一直保持着密切的合作关系&#xff0c;涉及系统框架…

【Java基础】Java对象的生命周期

【Java基础】Java对象的生命周期 一、概述 一个类通过编译器将一个Java文件编译为Class字节码文件&#xff0c;然后通过JVM中的解释器编译成不同操作系统的机器码。虽然操作系统不同&#xff0c;但是基于解释器的虚拟机是相同的。java类的生命周期就是指一个class文件加载到类…

python控制obs实现无缝切换场景!obs-websocket-py

前言 最近一直在研究孪生数字人wav2lip。目前成果可直接输入高清嘴型&#xff0c;2070显卡1分钟音频2.6分钟输出。在直播逻辑上可以做到1比1.3这样&#xff0c;所以现在开始研究直播。在逻辑上涉及到了无缝切换&#xff0c;看到csdn上有一篇文章还要vip解锁。。。那自己研究吧…

尚硅谷MySQL笔记 3-9

我不会记录的特别详细 大体框架 基本的Select语句运算符排序与分页多表查询单行函数聚合函数子查询 第三章 基本的SELECT语句 SQL分类 这个分类有很多种&#xff0c;大致了解下即可 DDL&#xff08;Data Definition Languages、数据定义语言&#xff09;&#xff0c;定义了…

项目难点:解决IOS调用起软键盘之后页面样式布局错乱问题

需求背景 &#xff1a; 开发了一个问卷系统重构项目&#xff0c;刚开始开发的为 PC 端&#xff0c;其中最头疼的一点无非就是 IE 浏览器的兼容适配性问题&#xff1b; 再之后项目经理要求开发移动端&#xff0c;简单的说就是写 H5 页面&#xff0c;到时候会内嵌在 App 应用、办…

multiple definition of......first defined here

一、背景 环境&#xff1a; 银河麒麟–ARM–GCC7.4.0 写了一个动态库&#xff0c;依赖opencv和freeImage等第三方库&#xff0c;用cmake进行编译。原本在centos6-x86-gcc7.5.0上面进行编译非常的顺利&#xff0c;但是拿到麒麟arm上面编译就提示了这个错误&#xff1a;这个报错…

Ruby软件外包开发语言特点

Ruby 是一种动态、开放源代码的编程语言&#xff0c;它注重简洁性和开发人员的幸福感。在许多方面都具有优点&#xff0c;但由于其动态类型和解释执行的特性&#xff0c;它可能不适合某些对性能和类型安全性要求较高的场景。下面和大家分享 Ruby 语言的一些主要特点以及适用的场…

【C语言】动态通讯录 -- 详解

⚪前言 前面详细介绍了静态版通讯录【C语言】静态通讯录 -- 详解_炫酷的伊莉娜的博客-CSDN博客&#xff0c;但是静态版通讯录的空间是无法被改变的&#xff0c;而且空间利用率也不高。为了解决静态通讯录这一缺点&#xff0c;这时就要有一个能够随着存入联系人数量的增加而增大…

Ansys Zemax | 手机镜头设计 - 第 1 部分:光学设计

本文是 3 篇系列文章的一部分&#xff0c;该系列文章将讨论智能手机镜头模组设计的挑战&#xff0c;从概念、设计到制造和结构变形的分析。本文是三部分系列的第一部分&#xff0c;将专注于OpticStudio中镜头模组的设计、分析和可制造性评估。&#xff08;联系我们获取文章附件…

安防监控视频云存储平台EasyNVR通道频繁离线的原因排查与解决

安防视频监控汇聚EasyNVR视频集中存储平台&#xff0c;是基于RTSP/Onvif协议的安防视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求&#xf…

企业计算机服务器遭到了locked勒索病毒攻击如何解决,勒索病毒解密

网络技术的不断发展&#xff0c;也为网络安全埋下了隐患&#xff0c;近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的计算机服务器遭到了locked勒索病毒的攻击&#xff0c;导致企业的财务系统内的所有数据被加密无法读取&#xff0c;严重影响了企业的正常运行。最近…

如何通过观测云的RUM找到前端加载的瓶颈--可观测性入门篇

声明与保证 本文写作于2023年6月&#xff0c;性能优化的评价标准和优化方式仅适用于当前观测云控制台&#xff0c;当然随着产品迭代及技术更新&#xff0c;本文也会应要求适当更新。 创建、修订时间创建修改人版本2023/6/24观测云***v1.0.0 1.网站性能评价的发展史&#xff…

打开vim的语法高亮

在一个Ubuntu中自带的vim版本是8.2.4919&#xff0c;默认就是开始了语法高亮的&#xff0c;打开一个Java文件效果如下&#xff1a; 它不仅仅对Java文件有语法高亮&#xff0c;对很多的文件都有&#xff0c;比如vim的配置文件也有语法高亮&#xff0c;有语法高亮时读起来会容易…

DNNGP模型解读-early stopping 和 batch normalization的使用

一、考虑的因素&#xff08;仅代表个人观点&#xff09; 1.首先我们看到他的这篇文章所考虑的不同方面从而做出的不同改进&#xff0c;首先考虑到了对于基因组预测的深度学习方法的设计 &#xff0c;我们设计出来这个方法就是为了基因组预测而使用&#xff0c;这也是主要目的&…

排序算法-冒泡排序(C语言实现)

简介&#x1f600; 冒泡排序是一种简单但效率较低的排序算法。它重复地扫描待排序元素列表&#xff0c;比较相邻的两个元素&#xff0c;并将顺序错误的元素交换位置&#xff0c;直到整个列表排序完成。 实现&#x1f9d0; 以下内容为本人原创&#xff0c;经过自己整理得出&am…

WAVE SUMMIT2023六大分会场同步开启,飞桨+文心大模型加速区域产业智能化!

由深度学习技术及应用国家工程研究中心主办、百度飞桨和文心大模型承办的WAVE SUMMIT深度学习开发者大会2023将于8月16日重磅来袭&#xff01;届时上海、广州、深圳、成都、南昌和宁波六大分会场将同步开启&#xff01; 分会汇聚区域产业大咖、科研机构专家、知名学者和技术大…

【C++ 学习 ⑬】- 详解 list 容器

目录 一、list 容器的基本介绍 二、list 容器的成员函数 2.1 - 迭代器 2.2 - 修改操作 三、list 的模拟实现 3.1 - list.h 3.2 - 详解 list 容器的迭代器 3.2 - test.cpp 一、list 容器的基本介绍 list 容器以类模板 list<T>&#xff08;T 为存储元素的类型&…

【第二阶段】kotlin函数引用

针对上篇传入函数参数我们也可以重新定义一个函数&#xff0c;然后在main中调用时传入函数对象 lambda属于函数类型的对象&#xff0c;需要把普通函数变成函数类型的对象&#xff08;函数引用&#xff09;&#xff0c;使用“&#xff1a;&#xff1a;” /*** You can edit, ru…

DRF 缓存

应用环境 django4.2.3 &#xff0c;python3.10 由于对于服务而言&#xff0c;有些数据查询起来比较费时&#xff0c;所以&#xff0c;对于有些数据&#xff0c;我们需要将其缓存。 最近做了一个服务&#xff0c;用的时 DRF 的架构&#xff0c;刚好涉及缓存&#xff0c;特此记…

webSocket 笔记

1 认识webSocket WebSocket_ohana&#xff01;的博客-CSDN博客 一&#xff0c;什么是websocket WebSocket是HTML5下一种新的协议&#xff08;websocket协议本质上是一个基于tcp的协议&#xff09;它实现了浏览器与服务器全双工通信&#xff0c;能更好的节省服务器资源和带宽…