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

相关推荐
梅见十柒17 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
传而习乎31 分钟前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
soulteary32 分钟前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
运维&陈同学2 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!2 小时前
【Linux】进程状态
linux·运维
明明跟你说过2 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
O&REO2 小时前
单机部署kubernetes环境下Overleaf-基于MicroK8s的Overleaf应用部署指南
云原生·容器·kubernetes
运维小文3 小时前
K8S资源限制之LimitRange
云原生·容器·kubernetes·k8s资源限制
登云时刻3 小时前
Kubernetes集群外连接redis集群和使用redis-shake工具迁移数据(二)
redis·容器·kubernetes
Mr_Xuhhh4 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法