当前位置: 首页 > news >正文

手机网站页面模板WordPress用rds云数据库

手机网站页面模板,WordPress用rds云数据库,德阳市网站建设,工作细胞第一季全集免费如果你有跨平台开发的需求#xff0c;或者对每次在新机器上部署项目感到头疼#xff0c;那么 Docker 是你的理想选择#xff01;Docker 通过容器化技术将应用程序与其运行环境隔离#xff0c;实现快速部署和跨平台支持#xff0c;极大地简化了开发和部署流程。本文详细介绍…如果你有跨平台开发的需求或者对每次在新机器上部署项目感到头疼那么 Docker 是你的理想选择Docker 通过容器化技术将应用程序与其运行环境隔离实现快速部署和跨平台支持极大地简化了开发和部署流程。本文详细介绍了 Docker 的核心组件、工作原理和基本操作流程并结合算法模型部署的实际应用以 CUDA 环境部署为例深入讲解了如何利用 Docker 进行模型部署和调试帮助你轻松应对复杂的开发与部署挑战。 1. Docker 简介 Docker 是一个用于开发、运输和运行应用程序的开源平台。它将应用程序与环境进行隔离实现项目的快速部署上线减少项目在环境部署上所花费的成本。 2. Docker 架构与工作流程 2.1 Docker 架构 Docker 的架构基于客户端-服务器模式主要由 Docker 客户端和 Docker 守护进程两大核心组件构成。Docker 客户端是用户与系统交互的命令行界面CLI用户通过 CLI 发送命令如构建镜像、启动容器等这些命令会被传递到 Docker 守护进程通常为 dockerd​。守护进程作为 Docker 的核心组件负责管理容器的生命周期、构建镜像、分发镜像等任务并以后台进程的形式持续运行监听并处理来自客户端的请求。这种架构使得 Docker 能够高效地构建、管理和运行容器化应用为用户提供了灵活且强大的开发与部署体验。 ​ 2.2 Docker 架构的工作流程 构建镜像使用 Dockerfile​ 创建镜像。推送镜像到注册表将镜像上传到 Docker Hub 或私有注册表中。拉取镜像通过 docker pull​ 从注册表中拉取镜像。运行容器使用镜像创建并启动容器。管理容器使用 Docker 客户端命令管理正在运行的容器例如查看日志、停止容器、查看资源使用情况等。网络与存储容器之间通过 Docker 网络连接数据通过 Docker 卷或绑定挂载进行持久化。 3. Docker 的主要特点 容器化技术 隔离性Docker 使用容器技术将应用程序及其依赖打包到一个独立的环境中运行与其他容器和宿主机隔离。轻量级与虚拟机相比Docker 容器不需要完整的操作系统共享宿主机的内核因此启动速度快资源占用少。 镜像管理 镜像构建通过 Dockerfile 定义应用程序的运行环境和依赖然后构建为镜像。镜像分发镜像可以存储在本地或远程仓库如 Docker Hub方便分发和共享。 容器管理 容器生命周期管理可以创建、启动、停止、删除容器。容器编排支持使用 Docker Compose 等工具管理多个容器的部署和运行。 跨平台支持 Docker 支持多种操作系统包括 Linux、Windows 和 macOS能够确保应用程序在不同环境中的一致性。 4. Docker 的工作原理 Docker 守护进程Docker Daemon 守护进程是 Docker 的核心组件负责管理镜像、容器、网络和存储卷等资源。Docker 客户端Docker CLI 用户通过命令行工具与守护进程交互执行各种操作如拉取镜像、运行容器等。Docker 镜像镜像是只读模板包含运行容器所需的文件系统和依赖。镜像由多层组成每一层代表一次构建操作。Docker 容器容器是镜像的运行实例具有独立的文件系统、网络接口和资源限制。容器通过联合文件系统Union File System在镜像的基础上添加可读写层。Docker 仓库用于存储和分发镜像。Docker Hub 是官方的公共仓库用户也可以搭建私有仓库。 5. Docker 容器与镜像之间的关系 5.1 定义 镜像Image Docker 镜像是一个只读模板它包含了运行一个容器所需的文件系统、操作系统、应用程序及其依赖项。镜像是静态的不可修改是容器运行的基础。容器Container 容器是从镜像创建的运行实例。它是镜像的动态运行状态可以启动、停止、删除等。容器在镜像的基础上添加了可读写层用于存储运行时产生的临时数据。 5.2 关系 镜像是容器的模板容器是基于镜像创建的。镜像定义了容器的初始状态包括文件系统、操作系统环境、预安装的软件和配置等。容器是镜像的运行实例容器是镜像的动态运行版本。当启动一个容器时Docker 会在镜像的基础上添加一个可读写层用于存储容器运行时产生的临时数据。镜像的不可变性与容器的可变性镜像是不可变的一旦创建其内容不会改变。而容器是可变的用户可以在容器中安装软件、修改配置等。容器的创建依赖于镜像没有镜像容器无法被创建。用户可以通过拉取公共镜像仓库中的镜像或者使用 Dockerfile 构建自定义镜像来创建容器。容器的销毁不影响镜像删除容器后镜像仍然存在。用户可以基于同一个镜像创建多个容器每个容器都是独立的运行实例。 5.3 总结 镜像是容器的静态模板定义了容器的初始状态容器是镜像的动态运行实例具有独立的生命周期。镜像为容器提供了运行环境和基础结构而容器则在镜像的基础上实现了应用程序的运行和管理。 6. Docker 基本操作流程 6.1 创建容器 通过上面我们知道容器时基于镜像创建的因此根据本地有没有镜像创建容器的方式可以有这样三种若本地有可用镜像则可通过镜像直接创建容器若本地没有可用镜像则需先拉取镜像在通过相应操作创建容器若需要基于某个镜像自定义镜像并创建容器则需先拉取基础镜像然后定义Dockerfile文件基于基础镜像创建自定义镜像并通过相应操作创建容器。具体操作过程如下 6.1.1 直接创建容器 通过 docker run​ 直接创建一个容器。 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]OPTIONS可选参数用于配置容器的各种属性比如指定容器名称、端口映射、卷挂载等。IMAGE指定用于创建容器的镜像名称或镜像 ID。COMMAND 和 ARG可选用于在容器启动时运行的命令及其参数。 示例 从官方镜像创建一个简单的容器 docker run -d nginx指定容器名称 docker run --name my-container -d nginx端口映射 docker run -p 8080:80 -d nginx挂载卷 docker run -v /host/path:/container/path -d nginx设置环境变量 docker run -e VAR_NAMEvalue -d my-image6.1.2 通过镜像创建容器 6.1.2.1 拉取镜像 docker pull [镜像名称]:[标签]示例 docker pull nginx:latest6.1.2.2 使用镜像创建容器 docker run [选项] [镜像名称]:[标签]以下是一些常用的命令选项 ​ ​-d​​后台运行容器。如果不加 -d​容器会在前台运行直到退出。 ​ ​--name​​为容器指定一个名称方便后续管理。 ​ ​-p​​端口映射将容器内部的端口映射到宿主机的端口。 格式宿主机端口:容器内部端口​。 ​ ​-v​​挂载卷将宿主机的目录或文件挂载到容器内部。 格式宿主机路径:容器内部路径​。 ​ ​--rm​​容器退出时自动删除容器避免占用空间。 ​ ​-e​​设置环境变量。 ​ ​--network​​指定容器使用的网络。 示例 docker run -d --name my-nginx -p 8080:80 nginx:latest​-d​后台运行。​--name my-nginx​容器名称为 my-nginx​。​-p 8080:80​将容器内部的 80 端口映射到宿主机的 8080 端口。​nginx:latest​使用 nginx​ 镜像的 latest​ 版本。 6.1.3 通过 Dockerfile 构建自定义镜像并创建容器 拉取基础镜像 docker pull python:3.9-slim编写 Dockerfile FROM python:3.9-slim WORKDIR /app COPY . /app RUN pip install -r requirements.txt CMD [python, app.py]构建自定义镜像 docker build -t my-custom-python-app:v1 .基于自定义镜像创建容器 docker run -d --name my-python-container my-custom-python-app:v16.2 容器基本操作 6.2.1 启动容器 docker start [容器名称或ID]示例 docker start my-container6.2.2 进入容器 docker exec -it [容器名称或ID] /bin/bash常见命令选型说明 ​ ​-it​​这两个参数组合起来表示以交互模式进入容器。 ​-i​表示交互式保持 STDIN 打开。​-t​分配一个伪终端。 ​ ​[容器名称或ID]​ ​ 指定要进入的容器的名称或 ID。 ​ ​/bin/bash​​指定在容器内部启动的命令通常是 /bin/bash​ 或 /bin/sh​用于进入 shell。 示例 docker exec -it my-container /bin/bash6.2.3 退出容器 docker stop [容器名称或ID]示例 docker stop my-container7. 模型部署与 Docker 7.1 基于 Dockerfile 构建环境 基于Dockerfile创建虚拟开发环境的基本流程如下 # 拉取依赖镜像 docker pull nvidia/cuda:12.3.2-cudnn9-devel-ubuntu22.04 # 基于 Dockerfile 文件构建新镜像 docker build -t cuda-cudnn:12.3.2 . # 基于镜像生成对应容器 docker run --name cuda-12.3.2 -it --gpus all cuda-cudnn:12.3.2 # 检查容器是否生成 docker ps -a # 启动容器 docker start cuda-12.3.2 # 进入容器 docker exec -it cuda-12.3.2 /bin/bash # 停止容器 docker stop cuda-12.3.27.2 基于 Dockerfile 构建环境并通过挂载方式实现本地开发容器环境项目 我们创建容器的目的是在容器中进行项目的开发和测试因此在上述容器创建过程的基础上还需通过挂载的方式将本地项目映射到容器中去这样就可以实现在宿主机(主机中开发)在容器中编译和测试了。具体流程如下 先在本地创建项目项目中除了项目代码外还需包括Dockerfile文件 cuda_test/ ├── Dockerfile ├── print_index.cu └── CMakeLists.txt进入到项目目录下通过docker创建项目环境。 拉取镜像 docker pull nvidia/cuda:12.3.2-cudnn9-devel-ubuntu22.04构建新镜像 docker build -t cuda-cudnn:12.3.2 .生成容器并挂载本地路径 docker run --name cuda_test -it --gpus all -v /mnt/e/Code/Cuda_test:/workspace cuda-cudnn:12.3.2 /bin/bash​ ​ 通过上述操作完成了项目环境的创建然后进入宿主机进行项目开发完成编码后启动镜像进行编译。 #启动容器(若容器停止执行) docker start cuda_test #进入容器 docker exec -it cuda_test /bin/bash #进行编译 ls mkdir build cd build cmake .. make ./you_project​ 7.3 挂载到容器的项目在容器中进行 Debug 我们在开发的过程中还需要deubg代码下面是通过vscode配置deocker容器debug的过程。 创建可进行 Debug 的容器 docker run --name cuda_test -it --gpus all --cap-addSYS_PTRACE --security-opt seccompunconfined -v /mnt/e/Code/Cuda_test:/workspace cuda-cudnn:12.3.2 /bin/bash在本地项目中创建 VSCode 的 ​launch.json​​ 文件 {version: 0.2.0,configurations: [{name: Docker_debug,type: cppdbg,request: launch,program: /workspace/you_path, //可执行文件路径args: [],stopAtEntry: false,cwd: /workspace/you_path, //命令行路径environment: [],externalConsole: false,sourceFileMap: {/workspace/you_path: ${workspaceFolder}/you_path //源码在容器中和工作空间的路径对应关系},pipeTransport: {pipeProgram: docker,pipeArgs: [exec,-i,container_name, //容器名称/usr/bin/gdb,--interpretermi],debuggerPath: /usr/bin/gdb,pipeCwd: ${workspaceFolder}},MIMode: gdb,setupCommands: [{description: Enable pretty-printing for gdb,text: -enable-pretty-printing,ignoreFailures: true}]}] }配置好launch.json文件后即可在vscode中进行debug。 ​ ​ ​ 8. 参考资料 Docker部署深度学习模型 - ZeroZeroSeven - 博客园轻松构建Qt应用与Docker容器完美结合的界面攻略 - 云原生实践从零开始使用vs code连接Linux系统下的docker容器_vscode连接容器的方法-CSDN博客手把手教你在windows上用docker和vscode配置环境 - MiniOB多种方法VSCode调试docker容器里的程序_vscode docker-CSDN博客
http://www.hkea.cn/news/14361718/

相关文章:

  • 网站百度搜不到如何制作自己想要的图片
  • 潜江哪里做网站电商创业新手怎么做
  • 做代理网站网站在线
  • 电商网站开发语言网站交易
  • 山西省住房城乡建设厅网站营销活动推广方案
  • 哪个地区的网站建设最好做网站和seo哪个好
  • 网站建设一般多少钱一年设计公司500强排名
  • 用html做登录网站深夜十大直播app软件
  • wordpress 3.8.1 exp 下载北京seo优化厂家
  • 徐州设计网站wordpress调取缩略图
  • 做服装要看国外哪些网站好饰品销售网站功能建设
  • 青岛网站建设排名杭州服装论坛网站建设
  • 汕头网站建设方法网站建设要托管服务器
  • 北京最好的网站制作公司永州市城乡建设规划局网站
  • 织梦搭建商城网站单页面网站如何优化
  • 广东网站设计wordpress西瓜
  • 网站用户量苏州网站建设一条龙
  • 企业网站的用户需求企业邮箱怎么申请注册账号
  • 万网的网站建设好吗wordpress怎么更改语言设置
  • 博客建站模板国外知名网站
  • 淘宝 客要推广网站怎么做网站的权重是什么意思
  • 如何做公证网站网页发布时间重庆网站建设qq群
  • 上海外贸网站建设公司品牌网站建设 蝌蚪6小
  • 湘潭网站seo公司用织梦做网站需不需授权
  • 修改已经有的网站怎么修改怎么建设一个漫画网站
  • 一级域名网站怎么做wordpress主题页添加
  • 设立网站 费用淄博张店整合网络推广
  • 做旅游海报哪个网站好免费的做个响应式网站多少钱
  • 永嘉专业网站建设团队wordpress4.7英文版
  • 怎么用ppt做网站达州做网站的公司有哪些