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,我会继续发布文章进行讲解,如果还有不懂的地方,欢迎评论

相关推荐
一个天蝎座 白勺 程序猿8 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS12 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希12312 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
@兽血沸腾13 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
闲云自留地18 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达19 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落21 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng1 天前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮1 天前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹1 天前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器