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

相关推荐
z202305089 分钟前
linux之 remoteproc 内核实现源码分析
linux·运维·服务器
阿方索22 分钟前
shell脚本
linux·运维
嗨丶王哪跑33 分钟前
网络安全审计技术原理与应用
运维·网络·安全·web安全
斯普信专业组33 分钟前
Skywalking从部署集成到动态调优(上)
运维·skywalking·动态调优
斯普信专业组35 分钟前
Skywalking从部署集成到动态调优(下)
运维·skywalking·动态调优
matlab的学徒1 小时前
Kubernetes(K8S)全面解析:核心概念、架构与实践指南
linux·容器·架构·kubernetes
西瓜er1 小时前
Docker 一键部署指南:GitLab、Nacos、Redis、MySQL 与 MinIO 全解析
redis·docker·gitlab
要站在顶端2 小时前
Jenkins 使用容器运行自动化任务详细文档
docker·自动化·jenkins
卓小帅的博客2 小时前
跨服务器快速传输数据
运维·服务器