【Ubuntu】安装docker,docker compose 以及部署一个docker应用

大家好!在过去,已经分享了很多有关通过Docker部署应用的内容。今天,我将为大家详细介绍如何在Ubuntu系统上部署最新的Docker平台。

Docker是什么

Docker是一个开源的容器化平台,它允许您将应用程序及其所有依赖项打包到称为容器的可移植单元中。
使用Docker,您可以在不同的环境中轻松部署、交付和运行应用程序。每个Docker容器都是一个独立且隔离的运行环境,它们共享基本操作系统的内核,但在容器内部则拥有自己的文件系统、进程和资源。这使得Docker容器具备轻量、快速启动和高度可移植的特点。
相比于传统的虚拟化技术,Docker更加轻量级和灵活,它使开发者能够快速构建、测试和部署应用,而无需担心环境的差异。通过使用Docker,您可以实现应用程序的快速迁移、弹性伸缩和持续集成部署等优势。
总而言之,Docker为开发者和运维团队提供了便捷的工具和环境,使得应用程序的开发、交付和管理变得更加高效、可靠和可移植。

安装Docker

系统要求

在安装Docker Engine之前,您需要以下Ubuntu版本的64位版本之一:

  • Ubuntu Lunar 23.04
  • Ubuntu Kinetic 22.10
  • Ubuntu Jammy 22.04(LTS)
  • Ubuntu Focal 20.04(LTS)

Ubuntu的Docker Engine兼容x86_64(或amd64)、armhf、arm64、s390x和ppc64le(也称为ppc64el)架构。

卸载旧版本

在安装Docker Engine之前,确保卸载任何与之冲突的软件包。以下是需要卸载的非官方软件包列表:

  • docker.io
  • docker-compose
  • docker-doc
  • podman-docker

为了避免与官方版本的Docker Engine产生冲突,必须先卸载这些软件包。此外,Docker Engine依赖于containerdrunc。Docker Engine将这些依赖项捆绑在一个包中:containerd.io。如果您先前安装了containerdrunc,请将其卸载,以避免与Docker Engine捆绑版本发生冲突。

运行以下命令以卸载所有冲突的软件包:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt-get可能会报告您未安装这些软件包。

卸载Docker时,存储在/var/lib/docker/中的镜像、容器、卷和网络不会自动删除。如果您希望进行干净的安装,并且希望清理现有数据,可运行以下命令。

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

使用apt存储库进行安装

更新apt软件包索引并安装所需的包

运行以下命令来更新apt软件包索引并安装所需的包:

sudo apt update
sudo apt install ca-certificates curl gnupg

添加 Docker 的阿里云 GPG 密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

验证您现在是否拥有带有指纹的密钥

sudo apt-key fingerprint 0EBFCD88显示:
pub   rsa4096 2017-02-22 [SCEA]9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

设置阿里云仓库

# 定义文件路径和内容
file_path="/etc/apt/sources.list.d/archive_uri-https_mirrors_aliyun_com_docker-ce_linux_ubuntu-jammy.list"
content="deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable\ndeb-src [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable"
# 将内容写入文件
sudo echo -e "$content" > "$file_path"
sudo apt update

安装Docker Engine

安装最新版本Docker Engine、containerd和Docker Compose,请运行以下命令:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后,检查Docker版本,Docker Compose版本,请运行以下命令:

  docker --versiondocker compose version
root@SH-01:/home# docker --version
Docker version 24.0.5, build ced0996
root@SH-01:/home# docker compose version
Docker Compose version v2.20.2

至此,您就成功安装了Docker Engine,并可以使用Docker和Docker Compose进行容器化应用程序的管理。接下来我们不是第一个Docker应用—Portainer CE

安装Portainer CE

Portainer CE是一个开源的图形化管理界面,用于管理Docker环境。以下是安装Portainer CE的步骤:

  1. 创建一个名为portainer_data的持久化存储卷,用于存储Portainer的数据:

    docker volume create portainer_data
    
  2. 使用以下命令启动Portainer CE容器:

    docker run -d -p 9000:9000 --name=portainer --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
    

    这将下载并运行最新版本的Portainer CE容器。端口9000将被映射到主机上的9000端口,您可以通过访问http://localhost:9000来访问Portainer CE的管理界面。

  3. 打开您的Web浏览器并访问http://localhost:9000。在首次访问时,您将被要求设置管理员用户名和密码,并选择连接到本地Docker环境。

  4. 完成设置后,您将可以通过Portainer CE管理您的Docker环境,包括容器、镜像、网络和卷等。

现在,您已成功安装和设置了Portainer CE,可以开始使用它来管理您的Docker环境了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/86776.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)

注意&#xff1a;http_proxy和ajp_proxy的稳定性不如mod_jk 一.http_proxy方式 1.下载mod_proxy_html.x86_64 2.在apache下创建http_proxy.conf文件&#xff08;或者直接写到conf/httpd.conf文件最后&#xff09; 3.查看server.xml文件 到tomcat的安装目录下的conf/serve…

ThinkPHP成考学员管理平台

有需要请加文章底部Q哦 可远程调试 ThinkPHP成考学员管理平台 一 介绍 成考学员管理平台基于FastAdmin框架开发&#xff0c;数据库mysql&#xff0c;是一款针对学员&#xff0c;教师&#xff0c;专业&#xff0c;课程&#xff0c;成绩&#xff0c;学费等信息管理的系统&#…

大数据Flink(五十八):Flink on Yarn的三种部署方式介绍

文章目录 Flink on Yarn的三种部署方式介绍 一、​​​​​​​Session模式

分享Python技术下AutojsPro7云控代码

引言 有图有真相&#xff0c;那短视频就更是真相了。下面是三大语言的短视频。 Java源码版云控示例&#xff1a; Java源码版云控示例在线视频 Net源码版云控示例&#xff1a; Net源码版云控示例在线视频亚丁号-知识付费平台 支付后可见 扫码付费可见 Python源码版云控示例…

Redis内网主从节点搭建

Redis内网主从节点搭建 1、文件上传2、服务安装3、服务启动4、配置主从复制 1、文件上传 内网环境手动上传gcc-c、redis.tar文件 2、服务安装 # 解压 unzip gcc-c.zip unzip gcc_rpm.zip tar -zxvf redis-6.2.13.tar.gz# 安装 cd gcc_rpm/ rpm -ivh *.rpm --nodeps --force…

【深度学习注意力机制系列】—— ECANet注意力机制(附pytorch实现)

ECANet&#xff08;Efficient Channel Attention Network&#xff09;是一种用于图像处理任务的神经网络架构&#xff0c;它在保持高效性的同时&#xff0c;有效地捕捉图像中的通道间关系&#xff0c;从而提升了特征表示的能力。ECANet通过引入通道注意力机制&#xff0c;以及在…

【脚踢数据结构】深入理解栈

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…

【BI系统】选型常见问题解答二

本文主要总结BI系统选型过程中遇见的常见问题&#xff0c;并针对性做出回答&#xff0c;希望能为即将选型&#xff0c;或正在选型BI系统的企业用户们提供一个快速了解通道。 有针对金蝶云星空的BI方案吗&#xff1f;能起到怎样的作用&#xff1f; 答&#xff1a;奥威BI系统拥…

小内存嵌入式设备软件的差分升级设计(学习)

摘要 提出一种改进HDiffPatch算法并在复旦微单片机上实现小内存差分升级的方案&#xff0c;即使用单片机内的Flash空间替代算法占用的RAM空间&#xff0c;从而减少算法对单片机RAM空间的需求&#xff0c;以满足小内存微处理器的差分升级&#xff0c;同时对算法内存分配释放函数…

关于pycharm安装出现的interpreter field is empty,无法创建项目存储位置

关于pycharm安装出现的interpreter field is empty&#xff08;解释器为空&#xff09; 关于pycharm安装出现的interpreter field is empty&#xff0c;无法创建项目存储的位置。如图&#xff1a; 我之前安装的时候一直老是有这个提示&#xff0c;后来才发现是因为没安装这个p…

干货满满的Python知识,学会这些你也能成为大牛

目录 1. 爬取网站数据 2. 数据清洗与处理 3. 数据可视化 4. 机器学习模型训练 5. 深度学习模型训练 6. 总结 1. 爬取网站数据 在我们的Python中呢&#xff0c;使用爬虫可以轻松地获取网站的数据。可以使用urllib、requests、BeautifulSoup等库进行数据爬取和处理。以下是…

案例12 Spring MVC入门案例

网页输入http://localhost:8080/hello&#xff0c;浏览器展示“Hello Spring MVC”。 1. 创建项目 选择Maven快速构建web项目&#xff0c;项目名称为case12-springmvc01。 2.配置Maven依赖 <?xml version"1.0" encoding"UTF-8"?><project xm…

nacos原理

不要纠结于具体代码&#xff0c;随着版本变化源码多变&#xff0c;要学习的是基本原理和思想&#xff1b; Nacos注册中心实现原理分析 Nacos架构图 其中分为这么几个模块&#xff1a; Provider APP&#xff1a;服务提供者。 Consumer APP&#xff1a;服务消费者。 Name Serv…

k8s之StorageClass(NFS)

一、前言 1、环境 k8s v1.23.5 &#xff0c;服务器是centos7.9 192.168.164.20 k8s-master1 192.168.164.30 k8s-node1 192.168.164.40 k8s-node2 2、貌似storageClass在kubernetes v1.20就被砍了。 因为它比较慢&#xff0c;而且耗资源&#xff0c;但可以通过不同的实现镜…

Java并发机制的底层实现原理

一、前置知识 缓存一致性协议&#xff1a;每个处理器通过嗅探在总线上传播的数据来检查自己缓存的值是不是过期了&#xff0c;当处理器发现自己缓存行对应的内存地址被修改&#xff0c;就会将当前处理器的缓存行设置成无效状态&#xff0c;当处理器对这个数据进行修改操作的时…

selenium常见等待机制及其特点和使用方法

目录 1、强制等待 2、隐式等待 3、显示等待 1、强制等待 强制等待是在程序中直接调用Thread.sleep(timeout) ,来完成的&#xff0c;该用法的优点是使用起来方便&#xff0c;语法也比较简单&#xff0c;缺点就是需要强制等待固定的时间&#xff0c;可能会造成测试的时间过…

“探索计算机世界:进程的基本概念与功能“

文章目录 前言什么是进程如何描述进程进程的属性1. 进程标识符2. 内存指针3. 文件描述符表4. 进程的状态5. 优先级6. 上下文7. 记账信息 内存分配并行和并发 前言 作为程序员&#xff0c;理解计算机的组成以及计算机是怎样运行的是很重要的&#xff0c;因为只有了解计算机我们…

Jenkins 使用

Jenkins 使用 文章目录 Jenkins 使用一、jenkins 任务执行二、 Jenkins 连接gitee三、Jenkins 部署静态网站 一、jenkins 任务执行 jenkins 创建 job job的名字最好是有意义的 restart_web_backend restart_web_mysql[rootjenkins ~]# ls /var/lib/jenkins/ config.xml …

QT--崩溃原因分析

本文为学习记录&#xff0c;若有错误&#xff0c;请联系作者&#xff0c;谦虚受教。 文章目录 前言一、目的二、实现步骤1 add2line.exe2 分析文件3 crash文件 三、相关代码1 pro文件2.ccrashstack.h3.ccrashstack.cpp4.main.cpp 总结 前言 你从来来去自由&#xff0c;若你不想…