Docker运行环境安装
nanshan 2024-12-01 01:40 13 浏览 0 评论
作者:京东科技 林中
Docker是一个开放的平台,用于开发、发布和运行应用程序。Docker分离了应用程序和运行应用的基础设施,从而实现了软件的快速交付。利用docker提供的一系列功能,包括构建、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。
Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐在Linux上运行,以下以主流的Linux操作系统(CentOS和ubuntu)为例,说明Docker运行环境的安装过程。
一、安装
1、CentOS
1.1、检查操作系统版本
Docker官方建议使用最新的稳定版本CentOS 9(stream)。不过,从docker-ce的发布软件包来看,仍然支持CentOS7和CentOS8。详细情况可参考清华大学的镜像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/。
1.2、卸载老版本的docker或docker-engine
如果你之前安装过 docker,使用以下命令删除旧的版本和依赖软件。
sudo yum remove docker \ docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
需要说明的是:删除旧版本docker,并不会删除使用中的镜像、容器实例、存储卷和网络配置,这些内容仍然保存在/var/lib/docker目录下。
1.3、安装docker运行环境
安装docker engine的方法有多种,
1)docker官方提供的yum安装源仓库(repositories),可以方便的实现安装和更新任务。 这也是官方推荐的方式。
2)下载docker的RPM软件包,手工进行安装和后续的更新。这个方式一般是在企业内网环境中,无法访问internet的情况下采用。
3)使用自动化的安装脚本https://get.docker.com/,自动完成安装。适合于开发和测试环境。缺点是,因为国家网络安全管理的限制,如何获取这个脚本?本身就是一个问题。建议初学者,还是应该掌握软件包管理的方法(yum,或者rpm),不要过度依赖于安装脚本。
需要注意的是:安装脚本中默认使用了国外的安装源,文件的下载速度较低。脚本中允许指定国内的两个安装源, --mirror=Aliyun(或者AzurechinaCloud),可以加快部署。
以下使用方式1(docker官方提供的yum安装源仓库)进行安装:
1、安装yum仓库管理工具,下载 repo 文件,并把软件仓库地址替换为国内镜像站
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce
需要注意的是:当download.docker.com无法访问时,可以通过国内镜像站替代,比如:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
2、安装docker engine、containerd和docker-compose
2.1 安装最新版本
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.2 (可选)安装指定版本
1)获取仓库中可用的版本清单
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:27.1.1-1.el9 docker-ce-stable
docker-ce.x86_64 3:27.1.0-1.el9 docker-ce-stable
<...>
说明:VERSION_STRING = 3:27.1.1-1.el9
2)安装指定的版本
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
3)启动docker
sudo systemctl start docker
2、ubuntu
注意:防火墙限制
Docker仅兼容iptables-nft和iptables-legacy,使用nft创建的防火墙规则在docker环境下不生效。
2.1、检查操作系统版本
Docker官方建议使用的版本包括,
Ubuntu Noble 24.04 (LTS)
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
不过,从docker-ce的发布软件包来看,仍然支持ubuntu的历史版本。详细情况可参考清华大学的镜像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/dists/。
2.2、卸载老版本的docker或docker-engine
如果你之前安装过 docker,使用以下命令删除旧的版本和依赖软件:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
说明:删除旧版本docker,并不会删除使用中的镜像、容器实例、存储卷和网络配置,这些内容仍然保存在/var/lib/docker目录下。
2.3、安装docker运行环境
安装docker engine的方法有多种,
1)docker官方提供的apt安装源仓库(repository)
2)手工进行安装和后续的更新。
3)使用自动化的安装脚本https://get.docker.com/,适合于开发和测试环境。
以下使用方式1(docker官方提供的apt安装源仓库)进行安装:
1、首先安装依赖:
apt-get update
apt-get install ca-certificates curl gnupg
2、信任 Docker 的 GPG 公钥并添加仓库:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
3、最后安装
3.1 安装最新版本
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.2 (可选)安装指定版本
1)获取仓库中可用的版本清单
apt-cache madison docker-ce | awk '{ print $3 }'
5:27.1.1-1~ubuntu.24.04~noble
5:27.1.0-1~ubuntu.24.04~noble
...
说明:VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble
2)安装指定的版本
VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
3)启动docker
sudo systemctl start docker
二、配置docker镜像国内加速
创建或更新文件:/etc/docker/daemon.json,内容如下:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://dockerproxy.com",
"https://docker.udayun.com",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]
}
配置完成后,需要重新启动docker
sudo systemctl restart docker
三、运行hello-world镜像,验证安装结果
sudo docker run hello-world
说明:以上命令执行过程中,会首先拉取hello-world镜像,然后运行容器实例,当看到控制台中显示包含“Hello from Docker!”的提示信息时,表示安装成功。
相关推荐
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
-
Zabbix是一个流行的开源监控解决方案,能够监控各种网络参数和服务器健康状态。一、环境准备系统要求Ubuntu20.04/22.04LTS至少2GBRAM(生产环境建议4GB+)至少1...
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
-
ApacheSolr是一个免费、开源的搜索平台,广泛应用于实时索引。其强大的可扩展性和容错能力使其在高流量互联网场景下表现优异。Solr基于Java开发,提供了分布式索引、复制、负载均衡及自...
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
-
Maven是由Apache托管的开源工具,用于管理Java项目。它包含一个项目对象模型(POM):一个配置文件(XML),其中包含项目的基本信息,包括配置、项目依赖项等。Maven可以处理...
- Cursor的终极对手——Trae Pro最新系统提示词
-
前段时间,字节的AI编程神器Trae国际版,终于甩出了Pro订阅计划!很多对它又爱又恨的小伙伴,直呼:终于等到你。爱它,是因为Trae长期免费+体验真香;恨它?还不是那该死的排队等待,...
- AI系统提示词:V0(ai代码提示)
-
以下是对V0系统提示词(SystemPrompt)的分部分讲解与解读,帮助你理解其核心内容和设计意图。V0系统提示词##CoreIdentity-Youarev0,Vercel&...
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
-
Lookingatyourrequest,Ineedtorewritethearticleaboutthe8-year-oldmissingboywhilemaking...
- docker常用指令及安装rabbitMQ(docker安装zabbix)
-
一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
-
面对100页以上的大型PDF文件时,阅读和搜索往往效率低下。传统关系型数据库在处理此类数据时容易遇到性能瓶颈,而Elasticsearch凭借其强大的全文检索和分布式架构,成为理想解决方案。通过...
- ElasticSearch中文分词插件(IK)安装
-
坚持原创,共同进步!请关注我,后续分享更精彩!!!前言ElasticSearch默认的分词插件对中文支持很不友好。一段话按规则会以每个中文字符来拆解,再分别建立倒排索引。如"中华人民共和国国歌...
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
-
ElasticSearch是一个基于Lucene的开源搜索引擎,广泛应用于日志分析、全文搜索、复杂查询等领域,在有些场景中使用ElasticSearch进行文档对象的持久化存储是一个很不错的选择...
- Elasticsearch数据迁移方案(elasticsearch copyto)
-
前言最近小编要去给客户部署一套系统涉及到了Mysql和ES数据的迁移,下面就给大家分享一下ES数据迁移的几套方案,根据具体的使用场景来选择不同的迁移方案能使你事倍功半,话多说下面就一一介绍。Elast...
- Rancher部署单体ElasticSearch(rancher2.5部署)
-
Rancher是k8s图形管理界面,之前曾有写文章介绍如何安装。ElasticSearch是热门搜索引擎,很多地方都有用到,常规安装部署略显繁琐,本文介绍在k8s下用rancher简易部署ES。1.在...
- Elasticsearch在Java项目的搜索实践:从零开始构建高效搜索系统
-
Elasticsearch在Java项目中的搜索实践:从零开始构建高效搜索系统在现代的Java项目中,数据量激增,传统的数据库查询方式已经无法满足快速检索的需求。这时,Elasticsearch(E...
- 小白入门-Kibana安装(kibana安装配置)
-
一Kibana基础1.1介绍Kibana是一款免费且开放的前端应用程序,其基础是ElasticStack,可以为Elasticsearch中索引的数据提供搜索和数据可视化功能。Kiban...
- Docker上使用Elasticsearch,Logstash,Kibana
-
在对一个项目做性能测试时我需要处理我们web服务器的访问日志来分析当前用户的访问情况。因此,我想这是试用ELK的一个好机会。ELK栈首先要注意的是使用它是非常简单的。从决定使用ELK到在本机上搭一个...
你 发表评论:
欢迎- 一周热门
-
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
手机如何设置与显示准确时间的详细指南
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
FANUC 0i-TF数据备份方法(fanuc系统备份教程)
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
- 最近发表
-
- 在 Ubuntu 上安装 Zabbix(以 Zabbix 6.4 LTS 版本为例)
- 如何在 Ubuntu 24.04 服务器上安装 Apache Solr
- 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
- Cursor的终极对手——Trae Pro最新系统提示词
- AI系统提示词:V0(ai代码提示)
- 8岁男童失踪第13天,搜救人员发现可疑水库,更恶心的事情发生了
- docker常用指令及安装rabbitMQ(docker安装zabbix)
- 三步教你用Elasticsearch+PyMuPDF实现PDF大文件秒搜!
- ElasticSearch中文分词插件(IK)安装
- SpringBoot使用ElasticSearch做文档对象的持久化存储?
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)