企业网站建设多钱,域名备案的网站建设方案书模板,网站的seo,如何直接用jsp做网站不写servlet1. 介绍
1.1. 什么是 Docker
Docker 是一个开源的平台#xff0c;用于开发、发布和运行应用程序。它使开发者能够以更精简的方式封装应用及其依赖#xff0c;做到“打包一次#xff0c;到处运行”。通过 Docker#xff0c;您可以创建轻量级、可移植的容器#xff0c;每个…1. 介绍
1.1. 什么是 Docker
Docker 是一个开源的平台用于开发、发布和运行应用程序。它使开发者能够以更精简的方式封装应用及其依赖做到“打包一次到处运行”。通过 Docker您可以创建轻量级、可移植的容器每个容器内运行着一个应用程序及其所有依赖环境。
1.1.1. Docker 简介
Docker 提供了一种一致的应用运行环境解决了“在我机器上正常工作”的问题。这是通过将应用程序及其所需的一切打包到容器中实现的这样相同的容器可以在任何环境中运行。
1.1.2. Docker 的用途和优势 快速应用交付和部署通过 Docker可以用同一个配置快速测试、发布和大规模部署应用。 可移植性无论是在本地开发环境、处理器架构不同的测试环境还是在云端的生产环境Docker 容器都能保持应用一致运行。 资源隔离和分配Docker 使用 Linux 内核的功能如 cgroups 和命名空间来独立于操作系统隔离和分配资源。 高效利用系统资源与虚拟机相比Docker 容器使用的资源更少能够运行更多的容器实例。
1.1.3. 容器 vs 虚拟机 虚拟机在主机操作系统上通过虚拟化软件仿真硬件运行完整的操作系统。资源开销大启动慢但更适合运行不同操作系统内核。 容器共享主机操作系统内核通过隔离进程来实现资源使用控制。容器启动快占用资源少适合应用的轻量化和快速扩展。
1.2. Docker 的基本组成部分
1.2.1. Docker 镜像Image
Docker 镜像是一个只读模板包含创建 Docker 容器的指令。镜像可以基于基础镜像进行拓展添加新的指令来构建最终的应用程序执行环境。镜像是构建容器的基础可以使用公共的镜像仓库比如 Docker Hub也可以使用私有仓库。
1.2.2. Docker 容器Container
Docker 容器是由镜像创建的可运行实例。容器是用户与应用程序交互的具体实现它是独立的并提供一个隔离的运行环境。每个容器都与其他容器以及主机隔离可作为一种本地或云端的环境部署。
1.2.3. Docker 仓库Registry
Docker 仓库是存储和分发镜像的平台。通过 Docker 仓库您可以查找并下载他人共享的镜像也可以上传自己的镜像用于共享或备份。常用的公共仓库是 Docker Hub但根据需求可以搭建私有的 Docker 仓库。
2. 基础使用
本节将介绍Docker的基础操作包括如何安装Docker、使用基本命令来管理镜像和容器。掌握这些内容将为您处理更复杂的Docker操作奠定基础。
2.1. 安装 Docker
Docker可在多种操作系统上安装以下是常见系统的安装步骤 Windows使用Docker Desktop进行安装需提前启用Hyper-V。 下载Docker Desktop安装包。运行安装包并按照提示完成安装。启动Docker Desktop并成功运行时系统托盘将显示Docker图标。 macOS通过Docker Desktop安装需启用Apple Hypervisor。 下载Mac版Docker Desktop。打开下载的dmg文件将Docker图标拖入“应用程序”文件夹。运行Docker应用初次启动可能需要输入管理员密码。 Linux通常通过包管理工具安装CentOS、Ubuntu为例。 对于Ubuntu:sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io对于CentOS:sudo yum install docker-ce docker-ce-cli containerd.io验证安装是否成功执行以下命令以检查Docker版本 docker --version若显示版本信息则安装成功。
2.2. 基本命令
掌握以下基本命令便可轻松进行Docker的常规操作 版本信息docker version 显示Docker客户端和服务端的版本信息。 系统信息docker info 查看Docker的具体设置信息包含系统可用资源、已用资源等。 运行容器docker run 启动一个新的容器。 docker run hello-world该命令从Docker Hub中拉取hello-world镜像并运行。 列出容器 docker ps列出当前正在运行的容器。docker ps -a列出所有容器包括已停止的。 管理容器 停止容器docker stop container_id启动容器docker start container_id重启容器docker restart container_id 删除容器与镜像 删除容器docker rm container_id删除镜像docker rmi image_id
2.3. 镜像管理
镜像是Docker构建的基础通过管理镜像您可以控制容器的基础环境
2.3.1. 拉取镜像
在内网环境中通常需要通过特定的镜像源或者私有镜像仓库来获取镜像。假设已在内网搭建了私有镜像仓库 配置镜像源在内网中使用私有仓库时需配置docker以访问该仓库编辑或创建daemon.json文件 {registry-mirrors: [http://your-private-registry]
}然后重启docker服务。 拉取镜像 通过命令行下载镜像 docker pull your-private-registry/image_name:tag使用正确的仓库地址和标签来指定镜像版本。
2.3.2. 列出镜像
在下载或创建镜像后可以查看当前系统上存储的所有镜像
执行以下命令来查看镜像列表docker images此命令将显示镜像仓库名称、标签、镜像ID、创建时间及其虚拟大小。
2.3.3. 删除镜像
当不再需要某些镜像时可以手动删除以节省磁盘空间
查找镜像ID首先使用docker images命令找到目标镜像的ID。删除特定镜像docker rmi image_id如果镜像正在被某些容器使用需先停止并删除这些容器。
2.3.4. 创建镜像可选
在内网环境中您可能需要自己构建镜像 编写Dockerfile 创建一个Dockerfile定义您需要的环境和软件安装。 FROM ubuntu:latest
RUN apt-get update apt-get install -y your-required-packages
COPY ./your-local-file /some/path
CMD [your-command]构建镜像 使用以下命令构建镜像 docker build -t your-image-name:tag .在执行的目录中包含Dockerfile。
2.3.5. 镜像保存与加载
对于内网环境中如需在不同主机之间转移镜像而不通过镜像仓库您可以使用保存和加载功能
2.3.5.1. 保存镜像为文件 命令docker save 可以将镜像导出到一个文件中以便在其他系统上重新导入。假设错误报告创建ubuntu镜像文件 docker save -o ubuntu_latest.tar ubuntu:latest用途适用于需要将镜像转移到无网络或者不便于网络传输的环境。
2.3.5.2. 加载镜像文件 命令docker load 从tar文件中加载镜像到本地镜像仓库 docker load -i ubuntu_latest.tar用途从转移的镜像文件中恢复镜像此操作将镜像加载到Docker环境中可以随时使用。
2.3.6. 导出和导入镜像
导出和导入略有不同适用于不同场景主要用于容器的迁移
2.3.6.1. 导出镜像 命令docker export 如需导出一个正在运行或已停止的具体容器而非镜像 docker export -o my_container.tar container_id2.3.6.2. 导入镜像 命令docker import 将导入的tar包文件重新创建为镜像 cat my_container.tar | docker import - my_new_image:latest2.3.7. 镜像的标记
标记tag操作允许您为镜像创建别名以便于管理和引用不同版本的镜像 命令docker tag 为现有镜像分配新标签 docker tag ubuntu:latest myrepo/ubuntu:optimized2.3.8. 清理未使用的镜像 命令docker image prune 删除所有未被使用过的所有悬挂dangling镜像 docker image prune2.3.9. 镜像的历史 命令docker history 查看镜像的创建历史和层次结构帮助理解镜像是如何构建的 docker history ubuntu:latest2.4. 容器管理
管理容器是理解Docker的关键之一掌握容器的创建、启动和交互操作可以有效地利用Docker进行应用部署和维护。以下是详细的基本操作指南
2.4.1. 创建和启动容器
使用 docker run 命令是创建和启动容器的主要方式 命令docker run 通过该命令可以从指定镜像创建并启动一个新的容器。例如 docker run -d --name my_container ubuntu:latest-d后台运行容器。--name my_container为容器指定一个名字方便管理和访问。ubuntu:latest使用的镜像名称和标签。 启动已停止的容器 使用 docker start 启动 docker start my_container2.4.2. 进入容器
有时需要进入容器内部进行操作或调试以下是主要的两种方式 执行命令行交互式 使用 docker exec 启动新进程 docker exec -it my_container bash-it以交互方式启动终端。 附加到终端 使用 docker attach 连接到容器的标准输入、输出和错误输出适用于希望与容器主程序交互的场景 docker attach my_container这种方法将使您直接连接到运行中的应用程序。
2.4.3. 查看容器日志
查看日志对于调试和监控容器运行非常重要 命令docker logs 获取容器输出的日志信息 docker logs my_container额外选项 --follow (-f)实时跟踪日志输出。--tail显示末尾若干行。 如实时查看日志尾部10行 docker logs -f --tail 10 my_container2.4.4. 停止与删除容器
对停止和删除容器进行合理管理可以优化资源使用 停止容器 用 docker stop 安全停止容器它将发送SIGTERM信号 docker stop my_container强制终止容器 用 docker kill 强制终止执行发送SIGKILL信号 docker kill my_container删除容器 删除停止的容器是释放资源的好方法 docker rm my_container使用 -f 强制删除正在运行的容器。
熟练掌握这些容器管理指令将让您在Docker的世界中更加游刃有余实现高效的容器化管理和支持。
当你在一个容器中更新软件和安装必要的插件并希望将其复制到另一台内网机器上你可以通过以下几个步骤来实现
2.5. 容器创建镜像的过程
2.5.1. 通过容器创建新的镜像
在容器上操作完毕后你需要将其变化保存为一个新的镜像这样才能在其他机器上重现相同的环境。 提交容器为镜像 使用 docker commit 将容器的当前状态保存为一个新的镜像 docker commit container_id new_image_name:tag例子 docker commit my_container my_updated_image:latest2.5.2. 保存镜像为文件
将创建的新镜像保存为一个可移动的文件这样可以在其他机器上加载 保存镜像 使用 docker save 命令 docker save -o my_updated_image.tar my_updated_image:latest这将生成一个 .tar 文件包含你镜像的所有数据。
2.5.3. 将镜像文件移动到其他机器
使用任何适合的手段将生成的.tar文件传输到目标内网机器上例如
使用USB驱动器或其他物理介质。通过内网文件共享服务如Samba、NFS等。使用安全拷贝工具如 scp 若在内网有SSH可用。
2.5.4. 在新机器上加载镜像
在接收.tar文件的内网机器上使用 docker load 命令来恢复你的镜像 加载镜像 docker load -i my_updated_image.tar这将在新机器上将镜像加载到Docker中并且可以通过 docker images 检查确认该镜像是否存在。
2.5.5. 运行新镜像的容器
在新机器上从加载的镜像启动一个新的容器。 启动容器 docker run -d --name new_container my_updated_image:latest这样您就可以在新的内网环境中使用相同的更新镜像和配置进行操作了。
通过这些步骤您可以安全高效地在内网环境中部署和共享更新后的Docker镜像无需依赖外部网络。