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

news2024/11/27 0:40:19

大家好!在过去,已经分享了很多有关通过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 --version
  docker 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.coloradmin.cn/o/847713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小程序】Canvas 画布分享海报

成品效果图 可以通过切换下面图片形成不同的海报背景分享图 <template><view>// type"2d"必须加<canvas type"2d" :style"{width:Artwidth px,height:Artheight px, margin:0 auto}" canvas-id"firstCanvas"id&quo…

微前端初识

文章目录 微前端的发展历史微前端的定义微前端的特点使用微前端面临的挑战微前端常用技术方案及优缺点路由分发式微前端iframesingle-spaqiankunwebpack5: module federationWeb Component 微前端的发展历史 微前端在2016年首次出现在TWTR&#xff08;ThoughtWorks Technology…

准确预测极端降水,哥伦比亚大学推出升级版神经网络 Org-NN

内容一览&#xff1a;随着环境变化加剧&#xff0c;近年来全球极端天气现象频频出现&#xff0c;准确预测降水强度对人类以及自然环境都十分重要。传统模型预测降水的方差较小&#xff0c;偏向小雨&#xff0c;对极端降水预测不足。 关键词&#xff1a;极端天气 内隐学习 神经网…

ABAQUS启动GPU加速计算

文章目录 系统说明CUDA安装安装cuDNNABAQUS设置Lamb波压电仿真 系统说明 基于笔记本电脑&#xff0c;RTX4060&#xff0c;win11系统。 ABAQUS的有限元求解器是基于CPU的&#xff0c;但是它也支持使用GPU进行加速计算。仅支持隐式求解器standard。显示求解器explicit不能用。 …

opencv基础46-图像金字塔02-拉普拉斯金字塔

前面我们介绍了高斯金字塔&#xff0c;高斯金字塔是通过对一幅图像一系列的向下采样所产生的。有时&#xff0c;我们希望通过对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像&#xff0c;这时就需要用到拉普拉斯金字塔 前面我们已经介绍过&#xff0c;一幅图像在…

PyTorch深度学习环境安装(Anaconda、CUDA、cuDNN)及关联PyCharm

1. 关系讲解 Tytorch&#xff1a;Python机器学习库&#xff0c;基于Torch&#xff0c;用于自然语言处理等应用程序 Anaconda&#xff1a;是默认的python包和环境管理工具&#xff0c;安装了anaconda&#xff0c;就默认安装了conda CUDA&#xff1a;CUDA是一种由显卡厂商NVIDI…

算法通关村第五关——HashMap和队列问题分析

1.HashMap 1.1Hash的概念和基本特征 哈希(Hash)&#xff1a;也称为散列。就是把任意长度的输入&#xff0c;通过散列算法&#xff0c;变换成固定长度的输出&#xff0c;这个输出值就是散列值。 假设数组array存放的是1到15这些数&#xff0c;现在要存在一个大小是7的Hash表中…

Asynq: 基于Redis实现的Go生态分布式任务队列和异步处理库

Asynq[1]是一个Go实现的分布式任务队列和异步处理库&#xff0c;基于redis&#xff0c;类似Ruby的sidekiq[2]和Python的celery[3]。Go生态类似的还有machinery[4]和goworker 同时提供一个WebUI asynqmon[5]&#xff0c;可以源码形式安装或使用Docker image, 还可以和Prometheus…

【数据结构与算法——TypeScript】哈希表

【数据结构与算法——TypeScript】 哈希表(HashTable) 哈希表介绍和特性 哈希表是一种非常重要的数据结构&#xff0c;但是很多学习编程的人一直搞不懂哈希表到底是如何实现的。 在这一章节中&#xff0c;我门就一点点来实现一个自己的哈希表。通过实现来理解哈希表背后的原理…

oracle容灾备份怎么样Oracle容灾备份

随着科学技术的发展和业务的增长&#xff0c;数据安全问题越来越突出。为了保证数据的完整性、易用性和保密性&#xff0c;公司需要采取一系列措施来防止内容丢失的风险。  Oracle是一个关系数据库管理系统(RDBMS),OracleCorporation是由美国软件公司开发和维护的。该系统功能…

构建Docker容器监控系统(cadvisor+influxDB+grafana)

目录 一、部署 1、安装docker-cd 2、阿里云镜像加速 3、下载组件镜像 4、创建自定义网络 5、创建influxdb容器 6、创建Cadvisor 容器 7、创建granafa容器 一、部署 1、安装docker-cd [rootlocalhost ~]# iptables -F [rootlocalhost ~]# setenforce 0 setenforce: SELi…

22款奔驰GLC260加装原厂香氛负离子系统,清香宜人,久闻不腻

奔驰原厂香氛合理性可通过车内空气调节组件营造芳香四溢的怡人氛围。通过更换手套箱内香氛喷雾发生器所用的香水瓶&#xff0c;可轻松选择其他香氛。香氛的浓度和持续时间可调。淡雅的香氛缓缓喷出&#xff0c;并且在关闭后能够立刻散去。车内气味不会永久改变&#xff0c;香氛…

IELAB-网络工程师的路由答疑10问(2)

各位小伙伴们&#xff0c;接下来的问题可能有些难度&#xff0c;你们做好准备了吗&#xff1f; 7. 动态路由协议做了啥&#xff1f; 这次咱们先解决第一个比较棘手的问题--路由协议&#xff0c;相信初学的同学对于路由协议的学习总是或多或少有些问题&#xff0c;呐&#xff…

UVA1025 城市里的间谍 A Spy in the Metro

实际上这题就是问Mario最少的总等车时间 这题我的做法是 把一个火车从左到右(或从右到左) 的过程 转化成 途中任何车站到左边(或右边)相邻车站 的过程 相当于把他切成了一段一段 (一段就是两个相邻车站中间的部分) 这样更容易操作 具体请看代码 一些注释在代码里请往下看 #inc…

.netcore下grpc概述

一、什么是grpc 是一种与语言无关的高性能远程过程调用 (RPC) 框架。基于http/2标准设计&#xff0c;提供了头部压缩、tcp连接上的多路复用、流量控制、流式处理&#xff08;客户端流/服务端流/双向流&#xff09;。提供统一使用的.proto文件&#xff0c;它定义 grpc 服务和消…

屏幕录制app分享,总有适合你的一款

在现今的互联网时代&#xff0c;屏幕录制已经成为了一项必备的技能。然而&#xff0c;要想将自己的屏幕录制下来并分享给别人&#xff0c;就需要一款好用的屏幕录制app。市面上有许多不同的屏幕录制app&#xff0c;每个人的需求也各不相同。本篇文章就将为大家推荐几款适合不同…

技术应用:Docker安全性的最佳实验|聊聊工程化Docker

&#x1f525; 技术相关&#xff1a;《技术应用》 ⛺️ I Love you, like a fire! 文章目录 首先&#xff0c;使用Docker Hub控制访问其次&#xff0c;保护密钥写在最后 不可否认&#xff0c;能生存在互联网上的软件都是相互关联的&#xff0c;当我们开发一款应用程序时&#x…

好用的Windows 10磁盘管理工具

​前几天&#xff0c;我给我用的戴尔笔记本电脑装上了全新的SSD&#xff0c;并准备将所有除Windows操作系统以外的数据&#xff0c;特别是游戏&#xff0c;全部转移到SSD上&#xff08;主要是因为这样能加快游戏的加载速度&#xff09;。但在我尝试用Windows 10自带的磁盘管理操…

树莓派4B, Purple Pi, Orange Pi 3B对比

1 参数 树莓派4BPurple Pi OHOrange Pi 3BSOCBroadcom BCM2711RockChip 3566RockChip 3566CPUARM Cortex-A72 四核1.5GHz主频ARM Cortex-A55 四核 2.0GHz主频ARM Cortex-A55 四核 2.0GHz主频GPU支持OpenGL ES 3.0 graphicsMali-G52 1-Core-2EE 支持 OpenGL ES 1.1/2.0/3.2&…

Python操作MySQL将数据库表中的数据导出到excel

Author: liukai 2810248865qq.com Date: 2022-08-18 04:28:52 LastEditors: liukai 2810248865qq.com LastEditTime: 2023-06-29 09:35:25 FilePath: \PythonProject01\Python操作MySQL数据库及excel将数据库表中的数据导出到excel中.py Description: 这是默认设置,请设置custo…