docker的安装以及使用经验

文章目录

  • [一 前言](#一 前言)
    • [1 关于环境](#1 关于环境)
    • [2 关于docker的版本](#2 关于docker的版本)
  • [二 centos在线安装](#二 centos在线安装)
  • [三 centos离线安装](#三 centos离线安装)
  • [四 windows安装](#四 windows安装)
  • [五 写在最后](#五 写在最后)

一 前言

2023年最后一天,一个朋友问我,关于docker安装的事情,我突然想到,docker我已经用了很多年了,有很多使用经验,但是对于docker的安装,有很多个人的见解,为了方便回答他的问题,我在2024年第一天,写了这一篇文章,详细的讲解了一下docker的安装

1 关于环境

docker的安装的环境需要注意,比如当前是在windows安装,或者是在centos,又或者是在Ubuntu上面安装,又或者在华为欧拉上面安装。

其实每个环境的差异都会对docker产生影响。

我本人在centos和windows上用得比较多,所以主要介绍centos和windows的安装

2 关于docker的版本

docker发展到现在,有非常多的版本,用什么版本得从几个维度进行分析,比如如果是结合kubernetes使用,得看看kubernetes支持什么docker版本。如果是结合 docker-compose 使用,也得运行 docker-compose 支持什么版本。

如果是需要学习,我是建议用最新的版本学习,但是如果用相对比较低的版本,建议也不要低于 1.19.x

二 centos在线安装

确保服务器的docker的干净的,如果以前安装了失败的docker,可以用以下命令清除

复制代码
 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.1 添加docker源

复制代码
yum -y install yum-utils
# 添加docker源,我们选择的是阿里源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.2 安装docker引擎

安装指定的docker版本

复制代码
[root@can-devops-01 ~]# yum list docker-ce --showduplicates | sort -r

已加载插件:fastestmirror
可安装的软件包
 * updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
 * extras: mirrors.aliyun.com
docker-ce.x86_64            3:24.0.7-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.6-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.5-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.4-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.3-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.2-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.1-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.0-1.el7                      docker-ce-stable
docker-ce.x86_64            3:23.0.6-1.el7                      docker-ce-stable

安装指定版本docker 比如我常用 1.19.x 格式为:

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

复制代码
yum install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7 containerd.io

查看安装的版本

复制代码
docker version

启动docker

复制代码
systectm star docker
验证docker服务是否安装成功,运行系统提供的一个镜像,输出Hello from Docker!,容器启动过程可能较慢,请耐心等待。

查看docker状态

复制代码
systemctl status docker

重启docker

复制代码
systemctl restart docker

安装最新版本

复制代码
yum install docker-ce docker-ce-cli containerd.io

查看安装的版本

复制代码
docker version

三 centos离线安装

复制代码
安装 docker v1.19
下载二进制包
$ wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

安装

复制代码
$ tar zxvf docker-19.03.9.tgz
$ cd docker
$ mv * /usr/bin
$ vi /usr/lib/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
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

$ mkdir -p /etc/docker
$ vi /etc/docker/daemon.json
{
  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

启动

复制代码
$ systemctl daemon-reload
$ systemctl start docker
$ systemctl enable docker
$ docker info
$ docker version

四 windows安装

在windows安装比较简单

直接搜索docker windows版本即可安装

https://docs.docker.com/desktop/release-notes/

五 写在最后

根据上面的描述,一般都可以顺利安装docker,假如还有不成功的地方,一般需要考虑是否服务器的内核,X86 AMD或者国产的内核。或者是操作系统

华为欧拉是对docker非常不友善,只能用他自己的容器化技术

现在docker越来越重,为了轻量,一般可以考虑使用 container 来作为轻量化的容器底座使用

后续对于docker,我会继续发布文章进行讲解,如果还有不懂的地方,欢迎评论

相关推荐
Decay__9 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子11 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
万联WANFLOW12 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery14 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__15 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森16 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼16 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by2099918 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina18 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼18 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测