当前位置: 首页 > news >正文

Linux安装Docker完整教程

Linux安装Docker完整教程

      • 1.卸载旧版本的Docker(可选)
      • 2.安装Docker
        • (1)yun安装
        • (2)离线安装
      • 3.启动Docker
      • 4.配置镜像加速
      • 5.Docker拉取镜像命令

参考链接
https://blog.csdn.net/m0_59196543/article/details/124749175

1.卸载旧版本的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

2.安装Docker

(1)yun安装

首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken

更新本地镜像源

# 设置docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast

安装docker
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

yum install -y docker-ce
(2)离线安装

参考链接:https://blog.csdn.net/weixin_45805531/article/details/128097586

Docker离线安装包的各种版本
https://download.docker.com/linux/static/stable/x86_64/
1.下载以后上传到liunx里面,执行解压操作

##创建data目录
mkdir data
##把下载的压缩包放到data目录里面,且进行解压
cd /data/
tar -xf docker-20.10.9.tgz 

如下
在这里插入图片描述

2.将解压出来的docker目录下的文件移动到 /usr/bin/ 目录下

mv docker/* /usr/bin/

3.将docker注册为系统service
cat > file :将用户在终端中输入的内容覆盖写入指定的文件中。

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF

3.启动Docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
启动docker前,一定要关闭防火墙后!!

# 关闭防火墙
systemctl stop firewalld
# 禁止开机自启防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld

再通过命令启动docker:

# 启动docker服务
systemctl start docker  
# 停止docker服务
systemctl stop docker  
# 重启docker服务
systemctl restart docker
# 查看docker服务的启动状态
systemctl status docker

查看docker服务的启动状态 systemctl status docker
当出现active(running)时,即为启动成功,如图:
在这里插入图片描述
查看docker版本:

docker -v

在这里插入图片描述

4.配置镜像加速

docker官方镜像仓库(https://hub.docker.com)网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

##创建目录(目的设置国内镜像服务;mkdir -p 可以连续创建多个目录)
mkdir -p /etc/docker 
##在文件夹内新建一个daemon.json文件
cat >/etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://registry.docker-cn.com","https://d8b3zdiw.mirror.aliyuncs.com"], "insecure-registries":["218.104.238.200:28080"],  "data-root":"/data/docker/lib" 
}
EOF

registry-mirrors(安全的镜像仓库):
Docker中国区官方(https://registry.docker-cn.com)

insecure-registry(非安全的镜像仓库)
是Docker中用来临时绕过TLS认证证书认证的参数,可以在开发、测试过程中节省时间和精力。但是在生产环境中,为了保证系统的安全性,我们需要关闭这个参数。

daemon.json是Docker的守护进程的配置文件,在这个文件中可以修改Docker的相关设置。其中,一个常见的设置就是data-root参数,它可以指定Docker的容器镜像和数据存储位置。
所有容器运行时的数据和镜像都会存在这个目录下。
这种方式可以方便地将Docker的数据存储和镜像文件夹放置到指定的位置,防止其占用系统默认存储位置的空间。
同时,在某些容器运行环境中,可能也需要经常清理Docker的数据存储和镜像,此时指定data-root可以使清理过程更加容易和可控。

需要注意的是,修改了daemon.json配置文件后,需要重启Docker服务才能使配置生效。

##重新加载文件
systemctl daemon-reload

##重启docker
systemctl restart docker

至此,Docker已经安装完毕

5.Docker拉取镜像命令

(Docker 涉及国内镜像:https://zhuanlan.zhihu.com/p/347643668)
这里补充一些镜像的基础命令,方便学习,可以去

相关文章:

  • 【C++11】线程库
  • 假如我是AI Agent专家,你会问什么来测试我的水平
  • 67基于matlab图像处理,包括颜色和亮度调整、翻转功能、空间滤波和去噪、频域滤波和去噪、噪声添加,形态学操作、边缘检测及示波器集成的GUI图像处理。
  • 【2016年数据结构真题】
  • DQL、DML、DDL、DCL的概念与区别
  • 家用小型洗衣机哪款性价比高?婴儿专用洗衣机推荐
  • 二百零三、Flume——Flume实时采集数据频率为1s的高频率Kafka数据直接写入ODS层表的HDFS文件路径下
  • 三行Python代码即可将视频转Gif
  • ASP.NETWeb开发(C#版)-day1-C#基础+实操
  • 【SA8295P 源码分析 (三)】121 - MAX9295A 加串器芯片手册分析 及初始化参数分析
  • 在 HarmonyOS 上实现 ArkTS 与 H5 的交互
  • LeetCode-2760. 最长奇偶子数组-滑动窗口暴力
  • 基于Matlab+ AlexNet神经网络的动物识别系统
  • 基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统
  • Windows客户端开发框架WPF简介
  • 【译】JS基础算法脚本:字符串结尾
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 「面试题」如何实现一个圣杯布局?
  • egg(89)--egg之redis的发布和订阅
  • HTTP请求重发
  • If…else
  • Java方法详解
  • js对象的深浅拷贝
  • Linux后台研发超实用命令总结
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • supervisor 永不挂掉的进程 安装以及使用
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从0实现一个tiny react(三)生命周期
  • 当SetTimeout遇到了字符串
  • 多线程事务回滚
  • 翻译:Hystrix - How To Use
  • 工作手记之html2canvas使用概述
  • 力扣(LeetCode)357
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 一个JAVA程序员成长之路分享
  • 你对linux中grep命令知道多少?
  • Android开发者必备:推荐一款助力开发的开源APP
  • hi-nginx-1.3.4编译安装
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #Spring-boot高级
  • (11)MSP430F5529 定时器B
  • (C语言)共用体union的用法举例
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Mysql的优化设置