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

自主建站网站平台唐山seo推广公司

自主建站网站平台,唐山seo推广公司,网站建设实战教程,长沙做网站seo公司Docker 基本概述 Docker 是一个开源的应用容器引擎#xff0c;它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中#xff0c;然后发布到任何流行的 Linux 或 Windows 操作系统的机器上#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制#xff0c;相互之间…Docker 基本概述 Docker 是一个开源的应用容器引擎它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中然后发布到任何流行的 Linux 或 Windows 操作系统的机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口。 Docker 官网https://www.docker.com Docker 有助于更快地交付应用它可将应用程序和基础设施层隔离并且能将基础设施当作程序一样进行管理。使用 Docker 可更快地打包、测试以及部署应用程序并可以缩短从编写到部署运行代码的周期。 Docker 中的隔离机制是如何实现的 Docker 主要借助 Linux 内核技术 Namespace 来实现隔离。Namespace 是 Linux 内核的一种功能它能够将进程及其相关的资源如文件系统、网络等隔离在一个独立的、互不干扰的环境中使得每个进程都有其独立的视角。 Namespace 应用方面 PID命名空间这是隔离进程的关键它使得每个容器都有其独立的进程空间无法影响其他容器或主机的进程。 文件系统命名空间这是用来隔离文件系统的。每个容器都有其独立的文件系统包括 /dev、/proc、/bin、/etc、/lib、/usr 等目录这些都是容器启动时由宿主机提供的。Docker 使用的是 overlay 或 overlay2 存储驱动它将不同容器的文件系统叠加在一起但每个容器都有其独立的视角。 网络命名空间这是用来隔离网络资源的每个容器都有其独立的网络环境包括 IP 地址、端口等。 用户命名空间这是用来隔离用户和权限的每个容器都有其独立的安全上下文包括用户、密码、权限等。 总的来说Docker通过使用Linux Namespace和相关的技术为容器提供了隔离后的执行环境使得每个容器都有其独立的视角和资源。 Docker 基本概念 镜像image一个只读的模板可以用来创建 Docker 容器。类似于 Student 类。容器Container容器是镜像创建的运行实例。容器是镜像运行时的实体为镜像提供了一个标准的和隔离的运行环境。它可以被启动、停止、删除每个容器之间都是隔离的。类似于 stu 实例对象。仓库repository存放镜像文件的地方。比如 maven 仓库是存放 jar 包的地方。Windows 安装 Docker 首先进行下载 windows 版本的 installer 安装包 安装完成提示You must restart Windows to complete installation. 初次启动 Docker Desktop 时您可能需要登录到 Docker Hub https://hub.docker.com/ 的帐户。特别注意和 Docker 官网不同注册页面在国内访问需要加速器。 环境问题 解决方案更新 wsl C:\Users\Administratorwsl --update 正在安装: 适用于 Linux 的 Windows 子系统 已安装 适用于 Linux 的 Windows 子系统。Windows Subsystem for LinuxWSL是一个在 Windows 10 上能够运行原生 Linux 二进制可执行文件的兼容层。它是由微软和 Canonical 公司合作开发其目标是使纯正的 Ubuntu、Debian 等映像能下载和解压到用户的本地计算机并且映像内的工具和实用工具能在此子系统上原生运行。如果使用 Windows 10 2004 以上可以通过 WSL 2 来窗口化运行桌面应用也不需要另外安装其他的 X 服务器。 Welcome-To-Docker 当你成功安装 docker 后会发现有自带的容器 welcome-to-docker展示如下 Container 容器暴露的端口 Port 是 80映射到 windows 的端口是 8088 配置 Docker 镜像 “registry-mirrors” 是 Docker 的一个配置项它的中文意思是“注册表镜”。这个配置项主要被用来修改 Docker 在启动过程中加载的镜像。当 Docker 启动时它会自动从 Docker Hub 上拉取镜像来使用。通过使用 “registry-mirrors”你可以指定一个或多个镜像存储库作为拉取镜像的镜像源以替代默认的 Docker Hub。这样可以提高拉取镜像的速度并且可以在网络连接不好的情况下使用缓存的镜像。需要注意的是如果使用registry-mirrors需要在启动 Docker 时加上 --registry-mirror 参数例如 “docker -d --registry-mirrorhttp://your-mirror-domain”。 registry-mirrors: [https://registry.docker-cn.com,http://hub-mirror.c.163.com,https://docker.mirrors.ustc.edu.cn,https://cr.console.aliyun.com,https://mirror.ccs.tencentyun.com ] Docker 组成 Kubernetes 基本概述 首先介绍下 Kubernetes它是一个开源的容器集群管理系统它用于在多个主机上自动化部署、维护和扩展容器化的应用。Kubernetes 的目标是简化和高效地实现容器化的应用部署它提供了应用部署、规划、更新和维护的一种机制。 Kubernetes 系统有什么样的应用场景 自动化容器部署Kubernetes可以自动化容器的部署、管理和扩展从而使应用程序能够更快速、高效地运行。 水平扩展和自动负载均衡Kubernetes可以自动扩展容器实例的数量并使用负载均衡器将流量分配到这些实例之间以实现高可用性和更好的性能。 无缝的应用程序更新Kubernetes可以实现滚动更新从而在不中断应用程序服务的情况下更新应用程序版本。 弹性伸缩Kubernetes可以根据需要自动伸缩应用程序以应对峰值流量或负载波动。 容器存储管理Kubernetes可以管理容器的存储需求从而帮助应用程序访问数据存储。 跨云平台应用程序部署Kubernetes可以在多个云平台之间轻松部署和管理应用程序从而帮助企业实现多云策略。Docker CMD Common Commands run Create and run a new container from an image exec Execute a command in a running container ps List containers build Build an image from a Dockerfile pull Download an image from a registry push Upload an image to a registry images List images login Log in to a registry logout Log out from a registry search Search Docker Hub for images version Show the Docker version information info Display system-wide informationCommands attach Attach local standard input, output, and error streams to a running container commit Create a new image from a containers changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a containers filesystem events Get real time events from the server export Export a containers filesystem as a tar archive history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images save Save one or more images to a tar archive (streamed to STDOUT by default) start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a containerDocker 安装 Redis Docker 官方镜像仓库 Redishttps://hub.docker.com/ C:\Users\Administratordocker run -d -p 6379:6379 --name redis redis:latest Unable to find image redis:latest locally latest: Pulling from library/redis 360eba32fa65: Pull complete 64b323c8825b: Pull complete 383536099eae: Pull complete e3f0c12dcc8e: Pull complete 2d2142a35b4d: Pull complete b4cada01e6a7: Pull complete Digest: sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 Status: Downloaded newer image for redis:latest 14598998f360e144a95f985ceca7af77d0a27941eb46e2a73d5c798ce4a04430在 Docker Desktop Container 查看已经运行的 redis 容器 测试 Redis 数据库 选择 Exec 打开 / Open in external terminal⁠ 开启终端 # redis-cli 127.0.0.1:6379 set name wrist OK 127.0.0.1:6379 get name wristDocker 安装 WordPress WordPress 是一个使用 PHP 语言开发的博客平台用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站也可以将其作为内容管理系统CMS来使用。WordPress 是一款个人博客系统并逐步演化成一款内容管理系统软件它是使用PHP语言和MySQL数据库开发的用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。 WordPress 拥有成千上万个各式插件和不计其数的主题模板样式同时还有许多第三方开发的免费模板安装方式简单易用。WordPress 官方支持中文版同时有爱好者开发的第三方中文语言包如 wopus 中文语言包。使用 WordPress 可以快速搭建独立的 Blog 网站而且它不仅仅是一个 blog 程序也是一个优秀的小型 CMS很多非 blog 网站也是用 WordPress 搭建的。它的功能包括文章发布、分类、归档提供文章、评论、分类等多种形式的 RSS 聚合链接的添加、归类功能评论的管理垃圾信息过滤功能等。 Docker Compose Docker Compose 是一个工具可以用于在单个主机上编排多个 Docker 容器。它允许您通过一个 YAML 文件来定义应用程序的服务、配置和环境并将其作为一个整体进行管理。使用 Docker Compose您可以轻松地定义和运行多个容器并使这些容器能够相互通信和协调。它是在开发和生产环境中使用 Docker 容器的一种高效方式。 C:\Users\Administrator\Desktop\HackerWakingdocker-compose up -d no configuration file provided: not found需要 configuration file 就是 docker-compose.yml 配置文件 docker-compose.yml version: 3.1services:wordpress:image: wordpressrestart: alwaysports:- 8080:80environment:WORDPRESS_DB_HOST: dbWORDPRESS_DB_USER: exampleuserWORDPRESS_DB_PASSWORD: examplepassWORDPRESS_DB_NAME: exampledbvolumes:- wordpress:/var/www/htmldb:image: mysql:5.7restart: alwaysenvironment:MYSQL_DATABASE: exampledbMYSQL_USER: exampleuserMYSQL_PASSWORD: examplepassMYSQL_RANDOM_ROOT_PASSWORD: 1volumes:- db:/var/lib/mysqlvolumes:wordpress:db:在 docker-compose.yml 配置文件所在的目录开启 cmd terminal 终端进行执行 docker-compose C:\Users\Administrator\Desktop\HackerWakingdocker-compose up -d容器名称就是目录名称 打开 wordpress 页面 配置 Dockerfile Dockerfile 是 Docker 用来创建 Docker 镜像的文本文件。Dockerfile 由一系列的命令和参数构成这些命令应用于基础镜像并最终创建一个新的镜像。他们自动化了 Docker 应用程序镜像的构建过程。 Dockerfile 基本结构 FROM这是 Dockerfile 中的第一条指令指定一个基础镜像作为后续所有指令的基础。 RUN在镜像上运行命令。 WORKDIR设置工作目录。 COPY复制文件。 ADD更高级的复制文件。 ENV设置环境变量。 EXPOSE声明端口。 CMD提供默认的执行参数。 ENTRYPOINT设置容器启动时运行的命令。 ONBUILD当构建一个被继承的 Dockerfile 时运行命令。 LABEL添加元数据到镜像。 STOPSIGNAL设置停止容器的信号。 HEALTHCHECK设置健康检查。 SHELL设置默认 shell。保存 Docker 镜像 docker save 命令用于将指定的 Docker 镜像保存为 tar 归档文件。若没有指定路径信息导出目录就是当前 Bash 目录。 docker save --helpUsage: docker save [OPTIONS] IMAGE [IMAGE...]Save one or more images to a tar archive (streamed to STDOUT by default)Aliases:docker image save, docker saveOptions:-o, --output string Write to a file, instead of STDOUT制作 Docker 镜像 Flask app.py 简单案例 from flask import Flask import os from dotenv import load_dotenv load_dotenv()app Flask(__name__)app.route(/) def indexPage():return hello worldif __name__ __main__:app.run(hostos.getenv(HOST), portos.getenv(PORT))环境变量 .env 配置文件 HOST0.0.0.0 PORT8080requirements.txt 包版本控制 requirements.txt 是一个用于指定 Python 项目依赖的文件。在 requirements.txt 文件中您可以列出项目所需的所有依赖包及其对应的版本。这样您可以轻松地与他人共享项目并确保他们在安装依赖时获得与您相同的版本。 使用 pip freeze requirements.txt 命令将当前环境中已安装的依赖包及其版本导出到 requirements.txt 文件中。这将帮助您轻松地创建一个 requirements.txt 文件以便与他人共享您的项目。 Flask~2.2.2 python-dotenv~0.21.0Dockerfile 镜像配置文件 FROM python:3.8WORKDIR /appADD . /appRUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simpleEXPOSE 8080CMD [python, app.py]制作 Docker 镜像 PS E:\docker-flask docker build -f Dockerfile -t flask-test:1.0.0 ERROR: docker buildx build requires exactly 1 argument. See docker buildx build --help.解决方案 Bashdocker buildx build . -t flask-test:1.0.0 CMD 运行镜像推荐 docker run -p 8080:8080 flask-test:1.0.0Docker Desktop 运行镜像 Centos 安装 Docker CentOS 基本概述 CentOS 是 Linux 发行版之一它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。 Yum 基本概述 YumYellowdog Updater, Modified是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器基于 RPM 包管理能够自动处理依赖性关系并且可以自动查找包的依赖性关系。 安装软件包yum install package_name 更新软件包yum update package_name 卸载软件包yum remove package_name 搜索软件包yum search package_name 列出已安装的软件包yum list installed 列出所有可用的软件包yum list all 清除Yum缓存yum clean cache检查更新 yum sudo yum update安装 yum-utils 软件包用于处理仓库和依赖关系 sudo yum install -y yum-utils启用 Docker sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo安装 Docker sudo yum install docker-ce docker-ce-cli containerd.io查看 Docker 版本 [rootVM-4-17-centos ~]# docker --version Docker version 24.0.6, build ed223bcCentos 运行镜像 docker load -i tar包 名称 [rootVM-4-17-centos docker]# docker images Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?遇到的问题是 Docker daemon 没有运行这导致你不能与 Docker daemon 进行交互。首先你需要确定 Docker daemon 是否正在运行。通过运行下面的命令 sudo systemctl status docker 来检查 Docker daemon 的状态。如果 Docker daemon 没有运行你会看到类似 “inactive (dead)” 的消息。 运行 Docker daemon sudo systemctl start docker拉取镜像 / 上传镜像 加载 镜像 tar 归档文件 docker load -i flask-test.tardocker load [rootVM-4-17-centos docker]# docker load --helpUsage: docker load [OPTIONS]Load an image from a tar archive or STDINAliases:docker image load, docker loadOptions:-i, --input string Read from tar archive file, instead of STDIN-q, --quiet Suppress the load output查看镜像 [rootVM-4-17-cdocker images REPOSITORY TAG IMAGE ID CREATED SIZE flask-test 1.0.0 2cace70f5bb6 3 hours ago 1.01GBShell 运行镜像推荐 [rootVM-4-17-centos docker]# docker run -p -d 8080:8080 flask-test:1.0.0 [rootVM-4-17-centos docker]# 2a8b3febd9d82718541d9292332c90200c4b3ce0d6a0f6f5ec5ee5867d368fe7background task 后台运行docker run --help 查看 -d, --detach Run container in background and print container ID常见问题端口冲突 [rootVM-4-17-centos docker]# docker run -p 8080:8080 flask-test:1.0.0 --name flask-project docker: Error response from daemon: driver failed programming external connectivity on endpoint strange_merkle (40bb0c551f08c91dabdabea1d11f8b165995408702a79462f2313cbca30f45c8): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use. ERRO[0000] error waiting for container: 在 Linux 上使用 netstat 命令或 lsof 命令来查看指定端口的进程 使用 netstat sudo netstat -tuln | grep 8080使用 lsof sudo lsof -i :8080这两个命令都需要使用 root 权限使用sudo。它们将显示监听或连接到 8080 端口的进程的详细信息包括进程 IDPID、用户、进程名等。 lsof 是一个用于列出当前系统打开文件的实用程序。通过使用不同的参数lsof 可以提供有关文件、进程、用户和目录的丰富信息。 查看正在运行的 container 容器 docker psdocker ps 命令将返回所有正在运行的容器的列表包括其 ID、名称、镜像、运行时间、状态等信息。 测试结果 访问服务器 IP:8080 hello world 成功
http://www.hkea.cn/news/14302403/

相关文章:

  • 宁波产品网站设计模板域名查询解析ip
  • 浑南区建设局网站长沙企业网站seo
  • 广西建设银行行号查询网站数据中心公司排名
  • 网站的建设分析双语 网站 数据怎么做
  • 女人做春梦视频网站做网站会用到什么语言
  • 网站开发成本如何账务处理wordpress全站pjax
  • 学校网站建设主体免费设计素材的网站
  • 长沙网络建设的网站用户中心wordpress
  • 上海网站设计专注乐云seo商丘网站建设模板
  • 池州市建设工程质量安全监督局网站建设论坛网站要备案
  • 辽宁省住房和城乡建设厅网站海口发布最新通告
  • 专题网站模板口碑营销的产品有哪些
  • 官方网站建设免费的照片编辑软件
  • 室内设计欣赏网站wordpress画廊投票
  • 企业网站建设的意义河北企业网站设计
  • wordpress 音乐网站做网络营销如何建立自己的网站
  • 石家庄网站营销肯德基网站建设方案
  • 南阳手机网站建设简述织梦网站上传及安
  • centos7做网站乐事薯片软文推广
  • 南通网站建设排名公司哪家好大兴智能网站建设哪家好
  • 该模板尚未授权此网站wordpress设置固定连接
  • 网站主页不收录做全国社保代理的网站
  • 怎么建网站卖东西网站搭建软件d
  • 能否设置网站做局域网清远公司网站建设
  • 福永小学网站建设福州做网站的公司电话
  • 官方网站建设的目的长宁网站建设公司
  • 南宁企业网站设计公阜新门户网站建设
  • 企业网站seo优化公司小型公司网站建设知乎
  • 沂水建设局网站免费素材网站psd
  • 如何微信做演讲视频网站网站备案批量查询