当前位置: 首页 >应用方案 >技术应用 >

Docker系列优势优点及其安装部署教程

Docker是一种开源的容器化平台,利用容器化技术能够以更高效、便捷的方式构建、部署和运行应用程序。相较于传统的虚拟化方法,Docker具有诸多优势和优点。前文我们发布的串口服务器基于EMQX平台自建MQTT服务器实现通讯教程中简单的介绍了安装Docker以及在Docker中部署EMQX 服务教程,接下来,我们将介绍Docker的优势以及在使用过程中需注意的要点。

Docker

Docker优点

轻盈高效:Docker运用容器虚拟化技术,将应用程序及其所有依赖项打包于独立容器中。与传统虚拟机相比,容器的启动速度更快,资源占用更少,使应用程序能够以更高效的方式运行。

可移植灵活:Docker容器化的应用程序可在支持Docker的任意环境中运行,不受底层操作系统、硬件的限制。这种可移植性方便开发人员将应用程序部署至不同环境,避免因环境差异引起的兼容性问题。

快速部署:借助Docker镜像机制,开发人员可将应用程序及其依赖打包成镜像,部署时只需运行该镜像,极大简化了部署过程,节省时间和精力。

灵活扩展:Docker允许用户通过创建多个容器实例进行横向扩展,以满足不同负载和流量需求。同时,Docker支持容器间互联和通信,使应用程序能以微服务方式组织,提高系统的灵活性和可扩展性。

本教程将全面讲解Docker从服务器安装到部署的过程,步骤如下所示:

1、终端连接命令:

通过以下终端连接命令可与服务器建立SSH连接:

ssh root@[ip地址] -p [端口号]

2、系统更新:

为确保系统处于最新状态,请执行以下命令进行系统更新:

apt update -y && apt upgrade -y

3、删除SSH主机密钥:

若遇到SSH主机密钥更改的情况,请使用以下命令删除原有密钥:

nano ~/.ssh/known_hosts

4、DD一个纯净系统:

对于普通用户而言,不需要进行系统安装,因为服务器已经为小白用户做了基础防护工作,比如禁止密码登录和root用户登录等。不过,如果你坚持进行系统安装,可以按以下步骤操作:

sudo -i #切换至root用户

sudo apt update -y #更新软件包

Docker安装注意事项:

本安装教程不适用于OpenVZ / LXC架构的系统。详细信息请参考以下来源:

https://blog.hicasper.com/post/135.html

https://www.ydyno.com/archives/1245.html

5、DD脚本安装(默认为Debian10,你需要根据自己的需求修改root密码和SSH端口):

运行以下命令,将其中的"自定义root密码"和"自定义ssh端口"替换为你所需的内容:

bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 10 -v 64 -p "自定义roo密码" -port "自定义ssh端口",等待约15至30分钟,你可以尝试与服务器建立连接,或使用ping命令检查域名连通性。

6、查看系统信息:

要查看系统详细信息,请执行以下命令:hostnamectl #或 uname -r

安装必要工具:

1安装sudo、wget、curl和nano等必要工具,执行以下命令:

sudo apt update #更新软件包列表

apt install sudo wget curl nano

2、为Debian 10添加官方backports源(更新软件库):
编辑 /etc/apt/sources.list 文件,在末尾添加以下内容(使用nano编辑器:按下ctrl+o保存并退出,按下ctrl+x退出但不保存):

deb http://deb.debian.org/debian buster-backports main

3、刷新软件库并查询Debian官方最新版内核并安装。请确保根据服务器类型(此示例为"amd64")正确安装内核版本:

sudo apt update && sudo apt -t buster-backports install linux-image-amd64

4、修改内核参数配置文件sysctl.conf:

编辑 /etc/sysctl.conf 文件,并添加以下内容:

net.core.default_qdisc=fq

net.ipv4.tcp_congestion_control=bbr

重启服务器以使内核更新与配置生效:sudo reboot

更新GRUB引导菜单,以防止在安装新内核时未更新的情况。执行以下命令更新GRUB引导菜单:sudo update-grub

随后重启系统,使新内核生效:sudo reboot

重启后,你可以再次运行 hostnamectl 或 uname -r 命令确认内核版本是否已更新。

若要验证fq算法是否正确启用,请运行以下命令:lsmod | grep fq

如果正确启用,将返回以下输出:root@iZt4nfn72irn8xvvdxjiluZ:~# lsmod | grep fq

sch_fq 20480 2

修改时间:

首先,需将服务器时间调整为本地时间。如服务器位于香港,时间与本地一致,则可忽略此步骤。若位于欧美地区,可执行以下步骤调整时间:

sudo -i #切换至root用户

apt update -y && apt upgrade -y #更新软件包

查看时间:timedatectl

DD完成后,可能发现时间变为纽约时间,需进行调整:timedatectl list-timezones #列出所有时区

Docker设置时区

设置时区为亚洲/上海:sudo timedatectl set-timezone Asia/Shanghai

随后再次运行以下命令查看时间:timedatectl

添加SWAP:

安装常用软件:apt install sudo curl wget

SWAP是Linux中的虚拟内存机制,用于在物理内存不足时存储临时数据。类似于Windows中的虚拟内存,但在Linux中,可以使用文件或分区作为虚拟内存。对于内存较小的服务器,SWAP很重要,可以提高运行效率。以下是通过脚本添加SWAP的步骤:

wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

Docker虚拟内存

安装Docker和Docker-compose:

更新并安装必要软件:

apt-get update && apt-get install -y wget vim

在大陆地区安装Docker:

运行以下命令即可安装Docker:

wget -qO- get.docker.com | bash

注意:如果出现"sudo: unable to resolve host [hostname]"错误,请编辑 /etc/hosts 文件,在"localhost"后添加一个空格,然后加上相应的 [hostname] 内容。

Docker版本

查看Docker版本:

要查看已安装的Docker版本,可执行以下命令:docker -v

设置Docker开机自启动:

使用以下命令使Docker在开机时自动启动:systemctl enable docker

卸载Docker步骤

如需卸载Docker,请执行以下命令:

sudo apt-get purge docker-ce docker-ce-cli containerd.io

sudo rm -rf /var/lib/docker

sudo rm -rf /var/lib/containerd

非大陆地区安装Docker-compose:

执行以下命令以安装Docker-compose:

curl -SL https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

查看Docker-compose版本:

要查看已安装的Docker-compose版本,可执行以下命令:docker-compose —version

Docker是一种轻巧而灵活的容器化技术,Docker为应用程序的构建、部署和运行带来了众多优势。在Docker的帮助下,开发人员和运维团队不仅可以简化应用程序的构建和部署过程,还能够提高应用程序的可移植性和性能。这是因为Docker封装了应用程序的依赖项和配置,使得应用程序可以在任何环境中运行,无论是在本地开发环境还是在生产环境。

在使用Docker时,需要注意许多问题。首先,需要注意版本兼容性,确保Docker的各个组件和插件都能够兼容并正常工作。其次,需要注意安全性,特别是镜像的来源和内容是否安全可信,以免造成系统被攻击或污染的风险。为此,可以使用Docker Hub等可信镜像仓库,并采取安全措施,如限制访问、加强密码策略等。此外,在使用Docker时还需注意资源管理和性能监控。一方面,Docker的弹性和灵活性很容易造成Docker容器过多而导致资源浪费,因此需要对Docker容器进行合理的资源管理和分配,如使用Docker Compose等工具管理容器。另一方面,Docker的高性能对于系统监控和调试也提出了更高的要求,需要使用适当的监控工具和技术,如Prometheus和Grafana等。

综上所述,Docker作为一种先进的容器化技术,为开发人员和运维团队带来了许多优势和便利,但同时也需要注意版本兼容性、安全性、镜像来源可信性以及资源管理和性能监控等问题,以确保系统的稳定和安全。只有这样才能真正利用Docker的优势,让应用程序更加高效、安全地贯穿其生命周期。

至此,本教程已全部结束,大家可以动手进行部署和安装了。相信通过本次学习,大家都能掌握Docker的安装

今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!

https://www.wjx.cn/jq/84863372.aspx