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

相关推荐
。puppy15 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色24 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev41 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
ZHOU西口1 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方2 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS3 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生