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

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产生了写一个博客专栏想法,介绍当前互联网企业JAVA项目开发如何快速入门。
本文收录于《30天企业JAVA项目开发实战入门》专栏,该专栏内容以当前互联网软件企业中的项目实战为线索,介绍企业JAVA项目开发中涉及到的开发流程、技术、工具、规范要求等等。帮助想从事JAVA开发的大学生或新人,更快的、更好的入门JAVA后端开发工作。

文章目录

一、前言

项目开发完成后,想把应用以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源。

shell 复制代码
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

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

shell 复制代码
yum -y install docker-ce

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

javascript 复制代码
docker -v

如果界面显示了Docker的版本信息,表示Docker已安装成功。

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

shell 复制代码
systemctl start docker

systemctl enable docker

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

shell 复制代码
systemctl status docker

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

四、安装docker-compose

  • docker-compose是什么?

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

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

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

shell 复制代码
pip3 install -U pip setuptools

之后,运行以下命令,安装docker-compose。

shell 复制代码
sudo pip3 install docker-compose

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

shell 复制代码
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

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

相关推荐
嘤嘤怪呆呆狗20 分钟前
【开发问题记录】使用 Docker+Jenkins+Jenkins + gitee 实现自动化部署前端项目 CI/CD(centos7为例)
前端·vue.js·ci/cd·docker·gitee·自动化·jenkins
一只搬砖的猹26 分钟前
cJson系列——常用cJson库函数
linux·前端·javascript·python·物联网·mysql·json
IPdodo全球网络服务1 小时前
如何通过TikTok引流到私域流量池
运维·服务器·网络
莫固执,朋友1 小时前
Linux下编译 libwebsockets简介和使用示例
linux·websocket·音视频
DCTANT1 小时前
【合作原创】使用Termux搭建可以使用的生产力环境(八)
linux·debian·idea·termux·vnc·xfce4·termux-x11
开疆智能2 小时前
ModbusTCP转Profinet:工业通信的利器
linux·服务器·网络
Carry_NJ2 小时前
docker-compose样例
运维·docker·容器
秃秃秃秃哇2 小时前
iptables交叉编译(Hisiav300平台)
linux
SUNX-T2 小时前
【conda】Ubuntu 24.04 安装CUDA 12.04
linux·ubuntu·conda
彩虹糖_haha2 小时前
Linux高并发服务器开发 第六天(rwx 对于目录和文件的区别 gcc编译器 动态库静态库)
linux·运维·服务器