怎么查到代码是哪个网站做的企业门户网站建设优势
2026/4/17 1:34:27 网站建设 项目流程
怎么查到代码是哪个网站做的,企业门户网站建设优势,安卓开发者网站,vs中可以用新建项目来做网站吗前言在云计算与微服务架构成为技术主流的当下#xff0c;容器技术已从 “可选方案” 变为 “基础设施”#xff0c;而 Docker 作为容器生态的核心工具#xff0c;凭借轻量、可移植、易扩展的特性#xff0c;成为开发者与运维人员构建、交付、运行应用的首选。容器的价值容器技术已从 “可选方案” 变为 “基础设施”而 Docker 作为容器生态的核心工具凭借轻量、可移植、易扩展的特性成为开发者与运维人员构建、交付、运行应用的首选。容器的价值本质是解决了应用 “开发环境与生产环境不一致”“跨平台部署难” 的核心痛点 —— 通过将应用及其依赖打包为标准化的容器镜像实现了 “一次构建处处运行”。但要真正发挥容器的优势不仅需要掌握基础的容器操作创建、启动、停止、删除、日志查看等更需理解容器网络的底层逻辑容器如何与宿主机通信多个容器间如何互联互通容器集群如何对外提供服务这些问题的答案正是容器网络管理的核心。本部分内容聚焦 Docker 两大核心维度一是容器操作从基础的生命周期管理到进阶的资源限制、数据持久化帮助读者快速掌握容器的日常运维技巧二是网络管理从默认网络模式桥接、主机、None到自定义网络、端口映射、跨主机网络通信拆解容器网络的底层原理与实操方法。无论你是刚接触 Docker 的初学者还是需要夯实容器运维基础的工程师掌握这些内容都能让你摆脱 “只会跑容器不懂调容器” 的困境真正理解容器的运行机制从而更高效地搭建稳定、可扩展的容器化应用环境。我们将以 “原理 实操” 的方式化繁为简让抽象的容器操作与网络概念落地为可复现的步骤助力你打通 Docker 应用的 “最后一公里”。创建容器概述容器创建就是将镜像加载到容器的过程。新创建的容器默认处于停止状态不运行任何程序需要在其中发起一个进程来启动容器。容器创建docker create [选项] 镜像-i: 让容器开启标准输入-t: 让Docker 分配一个伪终端 tty-it: 合起来实现和容器的交互作用运行一个交互式会话 shell# 创建一个新容器但不启动它 docker create -it nginx:latest /bin/bash启动容器docker start: 启动已创建的容器示例docker start container_iddocker start [容器名称]docker start 9b4b7aa3cf64 docker start goofy_noether停止容器docker stop [容器名称]或[容器id]docker stop 9b4b7aa3cf64查看容器状态#查看正在运行的容器 docker ps -a #查看所有容器包含已停止 docker ps -a字段说明CONTAINER ID容器的ID号IMAGE加载的镜像COMMAND显示容器启动时运行的命令CREATED创建时间STATUS当前的状态PORTS端口映射NAMES名称创建并启动容器docker run概述直接执行 docker run 命令 等同于先执行 docker create 命令再执行 docker start 命令。注意容器是一个与其中运行的 shell 命令共存亡的终端命令运行容器运行 命令结束容器退出。docker 容器默认会把容器内部第一个进程也就是 pid1 的程序作为docker容器是否正在运行的依据如果docker容器中 pid 1 的进程挂了那么docker容器便会直接退出也就是说Docker容器中必须有一个前台进程否则认为容器已经挂掉。示例容器的生命周期包括创建、启动、停止、重启、删除等操作。容器会根据其进程的状态自动结束例如当容器中的 PID1 的进程退出时容器也会停止。docker run centos:7 /usr/bin/bash -c ls / docker ps -a #会发现创建了一个新容器并启动执行一条 shell 命令之后就停止了工作流程Dockers引擎会在本地查找镜像本地找到镜像 然后启动镜像本地没有找到镜像然后根据Docker引擎配置的仓库地址远程去查找镜像。远程查询到镜像把镜像下载到本地然后启动镜像远程查询到镜像Docker返回错误提示镜像远程未找到。运行中的镜像支持停止、启动、重启、删除先停止才可以删除操作后台持续运行docker run创建的实例创建后台运行的容器需要在 docker run 命令之后添加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。# 创建容器并持续运行设置容器名称。 docker run -itd --name test001 centos:7 /bin/bash # 创建持续运行的容器 docker run -d centos:7 /usr/bin/bash -c while true;do echo hello;done容器的生命周期created已创建还未运行的容器running正在运行中的容器restarting容器正在重启中removing容器正在迁移中paused已暂停状态的容器exited停止状态的容器dead死亡主要是操作系统出现异常或者断电关机等有可能引发dead状态不是很常见。暂停和停止状态的区别docker pause 命令挂起指定容器中的所有进程docker stop 容器内主进程会在指定时间内被杀死默认为10s后。容器交互需要进入容器进行命令操作时可以使用 docker exec 命令进入运行着的容器。-i 选项表示让容器的输入保持打开-t 选项表示让 Docker 分配一个伪终端。示例docker exec -it [容器名称或id] /bin/bashdocker start test001 # 必须确保容器是运行的 docker exec -it test001 /bin/bash #不加 -d 选项会创建容器后直接进入容器但是退出容器容器也会停止 docker run -it centos:7 bash 输入exit 退出交互界面复制本地文件到容器docker cp [路径/本地文件] 容器id: [路径/新文件名]docker cp /opt/a1.txt test001:/opt/a11.txt容器的导出和导入用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中可以使用docker export 命令将已经创建好的容器导出为文件无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器通过相应的导入命令实现容器的迁移。# 导出格式 docker export test001 centos7.tar # 导入格式 #导入后会生成镜像但不会创建容器 cat centos7.tar | docker import - scentos7:test删除容器docker rm [-f] 容器ID/名称注意带-f表示强制删除#docker rm -f test001 docker stop test001 docker rm test001 # 批量停止容器 docker ps -a | awk NR2{print docker stop $1} | bash docker ps -a | awk NR2{print $1}| xargs docker stop # 批量删除所有容器 docker ps -a | awk NR2{print docker rm $1} | bash docker ps -a | awk NR2{print $1}| xargs docker rm # 批量删除镜像 docker images | awk NR2{print docker rmi $3}| bash #删除none镜像 docker images | grep none | awk {print $3} | xargs docker rmi #批量清理后台停止的容器 docker rm $(docker ps -a -q)网络管理网络实现原理Docker使用Linux桥接在宿主机虚拟一个Docker容器网桥(docker0)Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址称为Container-IP同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥这样容器之间就能够通过容器的 Container-IP 直接通信。Docker网桥是宿主机虚拟出来的并不是真实存在的网络设备外部网络是无法寻址到的这也意味着外部网络无法直接通过 Container-IP 访问到容器。如果容器希望外部访问能够访问到可以通过映射容器端口到宿主主机端口映射即 docker run 创建容器时候通过 -p 或 -P 参数来启用访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。# 随机映射端口 docker run -d --name test1 -P nginx docker run -d - -name test2 -p 43000:80 nginx 浏览器访问http://192.168.10.23:49153网络模式用docker run创建Docker容器时可以用 --net 或 --network 选项指定容器的网络模式。host模式相当于Vmware中的桥接模式与宿主机在同一个网络中但没有独立IP地址。Docker使用了Linux的Namespaces技术来进行资源隔离如PID Namespace隔离进程Mount Namespace隔离文件系统Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境包括网卡、路由、iptable规则等都与其他的 Network Namespace隔离。 一个Docker容器一般会分配一个独立的Network Namespace。 但如果启 动容器的时候使用host模式那么这个容器将不会获得一个独立的Network Namespace 而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡、配置自己的IP等而是使用宿主机的IP和端口。总结host模式容器与宿主机共享网络环境不具备独立的IP和网卡 而是使用宿主机的IP和端口docker run -d --name nginx-host --network host nginxContainer模式在理解了host模式后这个模式也就好理解了。这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace而不是和宿主机共享。新创建的容器不会创建自己的网卡配置自己的IP 而是和一个指定的容器共享IP、端口范围等。同样两个容器除了网络方面其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。总结多个container共用一个ip,与指定的容器共享network命令空间docker run -itd --name test1 centos:7 /bin/bash docker run -itd --name test2 --netcontainer:5946a0c10f1a centos:7 /bin/bash docker ps -a #查看容器进程号 docker inspect -f {{.State.Pid}} 5946a0c10f1a无网络模式使用none模式Docker容器拥有自己的Network Namespace但是并不为Docker容器进行任何网络配置。 也就是说这个Docker容器没有网卡、IP、路由等信息。这种网络模式下容器只有lo回环网络没有其他网卡。这种类型的网络没有办法联网封闭的网络能很好的保证容器的安全性。总结 none 模式 是指禁用网络功能只有lo接口在容器创建时使用 --networknone指定docker run -itd --name test3 --networknone nginx:latest /bin/bash桥接模式bridge模式是docker的默认网络模式不用–net参数就是bridge模式。相当于Vmware中的 nat 模式容器使用独立network Namespace并连接到docker0虚拟网卡。通过docker0网桥以及iptables nat表配置与宿主机通信此模式会为每一个容器分配NetworkNamespace、设置IP等并将一个主机上的 Docker 容器连接到一个虚拟网桥上。当Docker进程启动时会在主机上创建一个名为docker0的虚拟网桥此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似这样主机上的所有容器就通过交换机连在了一个二层网络中。从docker0子网中分配一个IP给容器使用并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备。veth设备总是成对出现的它们组成了一个数据的通道数据从一个设备进入就会从另一个设备出来。因此veth设备常用来连接两个网络设备。Docker将 veth pair 设备的一端放在新创建的容器中并命名为 eth0容器的网卡另一端放在主机中 以 * 这样类似的名字命名并将这个网络设备加入到 docker0 网桥中。可以通过 brctl show 命令查看。veth使用 docker run -p 时docker实际是在iptables做了DNAT规则实现端口转发功能。可以使用iptables -t nat -vnL 查看。总结bridge网络模式容器运行在同一宿主机内的虚拟网桥上可以通过容器互相通信与宿主机网络隔离。自定义模式自定义网络模式docker提供了三种自定义网络驱动 bridge overlay macvlan-bridge驱动类似默认的bridge网络模式但增加了一些新的功能 overlay和macvlan是用于创建跨主机网络建议使用自定义的网络来控制哪些容器可以相互通信还可以自动DNS解析容器名称到IP地址Docker提供了创建这些网络的默认网络驱动程序你可以创建一个新的Bridge网络Overlay或Macvlan网络bridge 单机网络模式适合在一台宿主机 内容器互联overlay 跨主机容器互联 docker swarmmacvlan 容器像一台物理机一样 直接获取宿主机的所在的网络的IP 容器像物理机一样直接连接局域网#直接使用bridge模式是无法支持指定IP运行docker的 #自定义网段 docker network create --subnet172.19.0.0/16 --opt com.docker.network.bridge.namedocker1 mynetwork docker run -itd --name test4 --net mynetwork --ip 172.19.0.10 centos:7 /bin/bash总结Docker 作为主流容器化技术核心价值在于应用的标准化打包与跨环境一致运行其核心能力可分为容器操作和网络管理两大模块二者协同支撑容器化应用的全生命周期运维。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询