【服务器部署篇】Linux下安装Docker容器

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。

本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快的、更好的入门JAVA后端开发工作。

文章目录

    • 一、前言
    • 二、准备资源
    • 三、安装Docker
    • 四、安装docker-compose
    • 五、总结

一、前言

项目开发完成后,想把应用以Docker的方式部署在云服务器上。所以,本文介绍一下Linux环境下如何安装Docker容器。

  • Docker是什么?

    Docker是一个开源的应用容器引擎。它允许开发者将应用及其依赖项打包到一个可移植的容器中,这个容器可以在任何支持Docker的环境中运行,从而实现了虚拟化。

    关于Docker更大的信息,请参见Docker官网。

  • Docker的优点有哪些?

    Docker自2013年以来非常火热,已经成为服务器虚拟化部署的主流技术,它具有以下优点:

    1、快速部署
    docker允许将对实例做的任意修改固化到镜像中,在新的机器上直接运行该镜像的实例。通过这样的方式,就避免了复杂的运行环境配置等工作,且保证了开发环境的一致性,不仅方便开发者使用,也保证程序运行的稳定性。

    2、虚拟化
    Docker是基于虚拟化技术的,因此本身可以当作一个虚拟机进行使用,可以同时建立多个虚拟环境。

    3、应用隔离
    Docker完全使用沙箱环境,不同的容器之间互不影响,可以用于需要相互隔离的应用测试等场景。

    4、微服务搭建
    微服务架构将一个整体式的应用拆分成松耦合的单个服务。使用Docker可以将每个服务打包为一个镜像并使用 docker-compose来模拟生产环境(checkout docker networks),相较于传统部署方法更加简单易维护。

    5、自动测试
    使用docker可以模拟多个独立进程,以此完成服务器+测试机的自动测试架构。

    6、扩容QPS
    Docker通过创建另一个容器轻松地进行水平扩展。如果遇到巨大的高峰流量,只需添加更多的机器并增加负载均衡器背后运行的容器数量。

    7、一次性的使用环境
    Docker的虚拟化与隔离化使得使用者可以对容器做任何的修改而不对其他容器做出影响,因此可以将Docker容器作为一次性的测试环境,可以放心地进行修改而不会产生任何影响。

二、准备资源

在云服务ECS上安装Docker,可使用阿里云提供的Docker镜像源快速部署。本文主要介绍如何基于CentOS镜像安装Docker、部署docker-compose,以便更高效地构建、部署和管理应用程序。

已在阿里云购买了一台ECS服务器,并满足以下配置。

  • 操作系统:CentOS 7.x 64位、CentOS 8.x 64位、Alibaba Cloud Linux 3 64位、Alibaba Cloud Linux 2 64位
  • 网络类型:专有网络VPC
  • IP地址:实例已分配公网IP地址或绑定弹性公网IP(EIP)。
  • 安全组:入方向放行80、22、8080端口。

三、安装Docker

首先,使用阿里云客户端工具远程连接到ECS实例。这里以root账号登录进行安装,在实际的项目中,为了安全起见,建议使用子账号。

(PS:阿里云客户端工具的下载、安装和配置,见官方文档:https://help.aliyun.com/zh/ecs/user-guide/overview-of-alibaba-cloud-client)

打开阿里云客户端工具Alibaba Cloud Client,输入账号信息, 点击连接;
在这里插入图片描述
点击启动SSH连接;
在这里插入图片描述
进入ECS主界面;
在这里插入图片描述

之后,运行以下命令,下载docker-ce的yum源。

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

之后,运行以下命令,安装Docker。

yum -y install docker-ce

在这里插入图片描述

之后,执行以下命令,检查Docker是否安装成功。

docker -v

在这里插入图片描述
如果界面显示了Docker的版本信息,表示Docker已安装成功。

之后,执行以下命令,启动Docker服务,并设置开机自启动。

systemctl start dockersystemctl enable docker

在这里插入图片描述

最后,执行以下命令,查看Docker是否启动。

systemctl status docker

在这里插入图片描述

如果界面显示了"running",表示Docker已启动。

四、安装docker-compose

  • docker-compose是什么?

docker-compose是Docker官方提供的用于定义和运行多个Docker容器的开源容器编排工具,可以使用YAML文件来配置应用程序需要的所有服务,然后使用docker-compose运行命令解析YAML文件配置,创建并启动配置文件中的所有Docker服务,具有运维成本低、部署效率高等优势。

关于docker-compose的更多信息,请参见Docker官网。

首先,运行以下命令,安装setuptools。

pip3 install -U pip setuptools

在这里插入图片描述
之后,运行以下命令,安装docker-compose。

sudo pip3 install docker-compose

在这里插入图片描述

最后,运行以下命令,验证docker-compose是否安装成功。

docker-compose --version

在这里插入图片描述

如果界面输出了docker-compose版本信息,表示docker-compose已安装成功。

五、总结

以上介绍了如何在Linux环境下安装Docker容器。

另外,关于Docker容器使用入门,推荐菜鸟教程,https://www.runoob.com/docker/docker-container-usage.html

参考文献:阿里云官方文档《安装Docker》,https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

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

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

相关文章

SqlServer占用CPU过高情况排查

一、问题描述 反馈SQLServer中出现CPU使用率过高有许多可能原因,但常见的原因如下最为常见: 由于以下情况,表或索引扫描导致的高逻辑读取: 过期统计信息缺少索引设计不佳的查询工作负载增加 针对此类问题,微软有一套…

数据恢复软件能不能恢复已经删除的监控视频

随着安防意识的日益增强,监控视频已成为众多场所不可或缺的安全保障。然而,由于各种原因,我们可能会不小心删除了一些重要的监控视频。面对这种情况,许多人都会想到使用数据恢复软件来尝试找回这些丢失的视频。那么,数…

堆放砖块-第12届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第47讲。 堆放砖块&#xf…

Redis 常用的基本命令

🔥博客主页:fly in the sky - CSDN博客 🚀欢迎各位:点赞👍收藏⭐️留言✍️🚀 🎆慢品人间烟火色,闲观万事岁月长🎆 📖希望我写的博客对你有所帮助,如有不足,请指正&#…

群联AI云防护中的防盗链技术原理及其作用探析---

一、引言 随着云计算和AI技术的快速发展,云防护方案已经成为现代企业防范网络攻击和保护数字资产的重要手段之一。群联科技作为存储解决方案和技术服务的领导者,已将其AI技术应用于云端防护系统中,并特别强化了防盗链功能,以帮助…

MQTT协议特点及数据包结构详解(值得珍藏)

点击下载《MQTT协议特点及数据包结构详解(值得珍藏)》 1. 前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在…

SVD图像处理(MATLAB)

使用SVD处理图像模拟演示 参考文献 https://github.com/matzewolf/Image_compression_SVD/blob/master/svd_compress.m MATLAB代码 clc; clearvars; close all;A_orgimread("lena256.bmp"); compr20; A_orgdouble(A_org);A_red svd_compress( A_org, compr ); s…

yolov7的改进工地安全帽佩戴检测系统-协同双注意力机制CDAM2(教程+代码)

研究的背景和意义 随着工业化和城市化的快速发展,建筑工地的安全问题日益凸显。在建筑工地中,工人的安全是至关重要的,而工地安全帽的佩戴是保障工人安全的重要措施之一。然而,由于工地环境复杂多变,工人的佩戴情况往…

为什么企业都用企微文档?真的好用吗?

现在很多企业都在使用企微文档,还没开始使用的企业难免会产生疑惑,企微文档真的好用吗?其实企业选择使用企微文档的原因有很多,主要的原因是企微文档能够满足企业在文件管理和协作方面的多种需求,从而提高办公效率。 下…

未来客服行业的趋势与展望:构建更高效、个性化的客户体验

客服行业是商业领域中的重要组成部分,它直接影响着企业的品牌形象和客户满意度。随着科技的飞速发展,客服行业也正在经历深刻的变革。今天将描绘未来客服行业的发展趋势,帮助我们更好地理解这个行业的未来走向。 1. 人工智能和机器学习的广泛…

汽车充电桩主板在出厂前需要做哪些检测?

充电桩主板作为核心组件承载着充电桩的关键功能,其性能和稳定性直接影响着用户充电体验、桩企产品合规和市场竞争力,以及主板厂商的品牌知名度。因此,对充电桩主板进行全面的测试尤为重要。 下面将详细介绍充电桩主板检测的内容,包…

信息素养与终身学习解锁题目搜索之道的新引擎【文末送书】

文章目录 信息素养:搜索前的准备终身学习:搜索后的深化新引擎的构建与运行 搜索之道:信息素养与终身学习的新引擎【文末送书】 随着互联网的快速发展和信息技术的日益成熟,搜索已经成为获取知识和信息的主要途径之一。然而&#x…

STM32CubeIDE基础学习-舵机控制实验

STM32CubeIDE基础学习-舵机控制实验 文章目录 STM32CubeIDE基础学习-舵机控制实验前言第1章 硬件介绍第2章 工程配置2.1 基础工程配置部分2.2 生成工程代码部分 第3章 代码编写第4章 实验现象总结 前言 SG90、MG996舵机在机器人领域用得非常多,因为舵机有内置控制电…

基于51单片机的数字时钟与日历显示控制设计

**单片机设计介绍, 基于51单片机的数字时钟与日历显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的数字时钟与日历显示控制设计是一个结合了硬件与软件技术的综合性项目。以下是该设计的概要…

SpringBoot中application.yml引入多个YML文件

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 首先,你要了解SpringBoot配置文件加载顺序,加载位置(代码内,Nacos等)…

从零开始搭建后端信息管理系统(新手小白比如)

如果你是新手小白,首先我们要进行一些准备工作,安装一些基础软件, 备注一下:这里安装的vue环境的后台管理系统,不同的后台管理系统,需要安装不同的插件 准备工作: 安装 Visual Studio Code …

刷代码随想录有感(27):重复的子字符串

题干&#xff1a; 代码&#xff1a; class Solution { public:void getNext(int *next, string &s){int j 0;next[0] 0;for(int i 1; i < s.size(); i){while(j > 0 && s[i] ! s[j]){j next[j - 1];}if(s[i] s[j]){j;}next[i] j;}}bool repeatedSubst…

基于java+springboot+vue实现的农产品智慧物流系统(文末源码+Lw)23-239

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#…

Python创建现代GUI应用程序库之ttkbootstrap使用详解

概要 ttkbootstrap是一个基于Python的Tkinter库构建的,用于创建现代GUI应用程序。它结合了Tkinter的简洁性和Bootstrap框架的美观,提供了丰富的组件和样式,使开发人员能够快速构建美观、响应式的桌面应用程序。 安装 通过pip可以轻松安装ttkbootstrap: pip install ttkb…

阿里云服务器北京地域多少钱?北京地域最新收费标准及便宜购买教程

阿里云服务器在国内有十几个地域可选&#xff0c;北京地域主要适合北方用户选择&#xff0c;2024年阿里云中国内地地域云服务器做了降价调整&#xff0c;因此收费标准也有所变化&#xff0c;本文为大家展示阿里云服务器北京地域最新的收费标准&#xff0c;以及在实际购买过程中…