AI应用开发相关目录
本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群
- python使用API实现word文档翻译
- yolo-world:”目标检测届大模型“
- 爬虫进阶:多线程爬虫
- python使用modbustcp协议与PLC进行简单通信
- ChatTTS:开源语音合成项目
- sqlite性能考量及使用(附可视化操作软件)
- 拓扑数据的关键点识别算法
- python脚本将视频抽帧为图像数据集
- 图文RAG组件:360LayoutAnalysis中文论文及研报图像分析
- 无痛接入PDF-Extract-Kit:最强PDF文档解析项目
- linux下的docker快速部署(附资源)
文章目录
- AI应用开发相关目录
- docker
- Docker的关键概念:
- Docker的主要特点:
- Docker的使用场景:
- Docker的组件:
- docker-compose
- 云盘资源:
docker
Docker是一个开放平台,用于开发、交付和运行应用程序。它允许用户将应用程序及其依赖环境打包在一个轻量级、可移植的容器中,然后这个容器可以在几乎任何地方一致地运行。以下是Docker的一些关键特点和概念:
Docker的关键概念:
-
容器(Container):
- 容器是从镜像创建的运行实例。它可以被启动、开始、停止、移动和删除。每个容器都是独立的、安全的平台。
-
镜像(Image):
- 镜像是用于创建容器的只读模板。例如,一个镜像可能包含一个Ubuntu操作系统、一个Apache服务器和一个应用程序。
-
仓库(Repository):
- Docker仓库是存储和分发Docker镜像的地方。Docker Hub是Docker官方提供的一个公共仓库,用户也可以创建私有仓库。
Docker的主要特点:
- 可移植性:
- Docker容器可以在任何支持Docker的环境中运行,无论是在本地机器、虚拟机还是云服务器上。
- 隔离性:
- 容器之间是相互隔离的,一个容器的崩溃不会影响到其他容器。
- 轻量级:
- 容器比虚拟机更轻量级,因为它们不需要为每个应用都运行一个完整的操作系统。
- 快速启动:
- 容器的启动速度比虚拟机快,因为它们不需要加载整个操作系统。
Docker的使用场景:
- 持续集成和持续部署(CI/CD):
- Docker可以用于自动化测试和部署流程,确保开发、测试和生产环境的一致性。
- 微服务架构:
- Docker容器非常适合微服务架构,因为它们可以独立部署和管理。
- 环境标准化:
- Docker可以帮助开发人员和运维人员标准化应用环境,减少“在我的机器上可以运行”的问题。
Docker的组件:
- Docker客户端和服务器:
- Docker客户端与Docker守护进程(服务器)通信,后者负责构建、运行和分发Docker容器。
- Docker对象:
- Docker的对象包括镜像、容器、网络、数据卷等。
docker-compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序的服务。这些配置文件允许用户以声明性的方式定义应用程序的组件,包括容器、网络、卷和数据卷等。
以下是 Docker Compose 的一些关键特点:
关键特点:
服务定义:
在一个 YAML 文件中定义应用程序的所有服务。例如,一个 web 应用可能包含一个前端服务和一个数据库服务。
单机多容器:
可以轻松地在单个主机上启动、停止和管理多个容器。
环境隔离:
Docker Compose 可以创建隔离的网络环境,使得服务之间的通信更加安全和方便。
依赖管理:
可以指定服务之间的依赖关系,确保它们按照正确的顺序启动。
简化部署:
通过简单的命令,可以轻松部署和管理复杂的应用程序。
基本组成:
服务(Services):
服务定义了容器在生产中的行为,包括构建设置、环境变量、依赖、卷映射和端口映射等。
网络(Networks):
网络定义了容器如何相互通信,以及它们如何与外部世界通信。
卷(Volumes):
卷定义了容器应该使用的数据持久化存储的位置。
使用步骤:
编写 docker-compose.yml:
创建一个 docker-compose.yml 文件,定义应用程序的服务、网络和卷。
启动服务:
在配置文件所在的目录下,运行 docker-compose up 命令来启动和运行整个应用程序。
管理服务:
使用 docker-compose stop、docker-compose start、docker-compose rm 等命令来管理服务的生命周期。
示例 docker-compose.yml:
version: ‘3’
services:
web:
image: nginx:latest
ports:
- “8080:80”
db:
image: postgres:latest
environment:
POSTGRES_PASSWORD: example
在这个例子中,定义了两个服务:web 和 db。web 服务使用最新的 Nginx 镜像,并将容器的 80 端口映射到主机的 8080 端口。db 服务使用最新的 PostgreSQL 镜像,并设置了一个环境变量 POSTGRES_PASSWORD。
常用命令:
docker-compose up:启动所有定义的服务。
docker-compose up -d:在后台启动所有定义的服务。
docker-compose stop:停止所有运行的服务。
docker-compose down:停止并删除所有容器、网络和卷。
docker-compose ps:列出所有服务的状态。
Docker Compose 是一个强大的工具,特别是对于开发、测试和轻量级生产环境中的应用程序部署。通过简化多容器应用程序的配置和部署,Docker Compose 大大提高了开发效率。
云盘资源:
链接:https://pan.baidu.com/s/1Gmgs4fWgfbtWEXmYhgievQ
提取码:5zor
### Docker文件名称:`docker-26.0.1.tgz`1. 解压`tar -zxvf docker-26.0.1.tgz`
2. 复制解压文件到/usr/bin/下`sudo cp docker/* /usr/bin/`(即将解压后的docker文件夹下的内容复制过去)
3. 将docker注册成系统服务``
# 默认docker的存储路径为/data/docker0, 若不存在,则需要先创建该文件夹
cd /data
mkdir docker0# 在/etc/systemd/system/目录下新增docker.service文件并修改docker.service文件内容sudo nano /etc/systemd/system/docker.service
# 输入如下内容,如报错,请注意核实内容格式[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
ExecStart=/usr/bin/dockerd --data-root=/data/docker0
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target
``4. 给文件增加可执行权限``
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
``5. 设置开机自启动``
systemctl enable docker.service
``6. 启动docker``
systemctl start docker
``7. 查看服务状态``
systemctl status docker
``8. 测试docker是否启动``
docker --version
``
### Docker Compose文件名称:`docker-compose-linux-x86_64`1. 将docker-compose文件移动到/usr/local/bin/下``
sudo cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
``2. 赋予可执行权限``
sudo chmod +x /usr/local/bin/docker-compose
``3. 查看版本验证是否成功``
docker-compose -v
``