❝
Docker是一种开源的应用容器引擎,允许开发者打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何支持Docker的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。
❞
Docker容器是什么?
Docker是一种轻量级的虚拟化技术,同时也是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包进一个轻量级、可移植的容器中,然后这个容器可以在任何支持Docker的Linux或Windows系统上运行。与传统的虚拟机相比,Docker容器不需要单独的操作系统,它们共享宿主机的内核,这使得Docker容器启动速度快、占用资源少。
为什么需要Docker容器?
在传统的虚拟机技术中,每个虚拟机都需要完整的操作系统来运行应用,这导致资源占用高和启动缓慢。Docker容器提供了一种更加高效的方式,它允许多个容器共享宿主机的操作系统内核,大大减少了资源消耗和提高了启动速度。此外,Docker容器简化了应用的打包、分发和部署流程,使得应用可以在任何地方以相同的方式运行,极大地提高了开发和运维的效率。
Docker容器
-
启动速度:Docker容器可以在几秒钟内启动,而虚拟机可能需要几分钟。
-
资源消耗:Docker容器共享宿主机的操作系统内核,占用的资源更少;虚拟机需要完整的操作系统,占用更多资源。
-
迁移和扩展:Docker容器的轻量级特性使得它们更容易被迁移和扩展。
-
隔离性:虚拟机提供了完整的操作系统级别的隔离,而Docker容器提供了进程级别的隔离。
Docker容器是如何工作的?
Docker的工作可以分为三个主要部分:
-
镜像(Image):Docker镜像是一个轻量级、可执行的独立软件包,包含运行应用所需的一切:代码、运行时、库、环境变量和配置文件。
-
容器(Container):容器是镜像的运行实例。当你从镜像运行容器时,Docker引擎在宿主机上为容器分配一个可隔离的环境,而不需要启动一个完整的操作系统。
-
仓库(Registry):Docker仓库用于存放镜像,支持公开和私有两种模式。Docker Hub是最流行的公共Docker仓库,用户可以从中拉取镜像或者推送自己的镜像。
Docker使用客户端/服务器架构,Docker守护进程作为服务端运行在宿主机上,负责创建、运行和分发容器。用户通过Docker客户端与Docker守护进程交互,发送指令(如构建、拉取、运行容器等)。
常用的Docker命令
镜像相关命令
-
拉取镜像:
docker pull <镜像名>:<标签>
例如,拉取最新的Ubuntu镜像:
docker pull ubuntu:latest
查看本地镜像:
docker images
构建镜像:
docker build -t <镜像名>:<标签> <Dockerfile路径>
例如,使用当前目录的Dockerfile构建镜像:
docker build -t myimage:latest .
删除镜像:
docker rmi <镜像ID或镜像名>
容器操作命令
-
运行容器:
docker run -d --name <容器名> <镜像名>:<标签>
例如,后台运行一个名为mycontainer的容器:
docker run -d --name mycontainer ubuntu:latest
查看运行中的容器:
docker ps
查看所有容器(包括未运行的):
docker ps -a
进入容器:
docker exec -it <容器ID或容器名> /bin/bash
例如,进入mycontainer容器:
docker exec -it mycontainer /bin/bash
停止容器:
docker stop <容器ID或容器名>
启动容器:
docker start <容器ID或容器名>
删除容器:
docker rm <容器ID或容器名>
删除所有停止的容器:
docker container prune
网络相关命令
-
查看网络:
docker network ls
创建网络:
docker network create --driver bridge <网络名>
连接容器到网络:
docker network connect <网络名> <容器名>
断开容器与网络的连接:
docker network disconnect <网络名> <容器名>
数据卷和持久化存储
-
创建数据卷:
docker volume create <卷名>
列出所有数据卷:
docker volume ls
删除数据卷:
docker volume rm <卷名>
运行容器时挂载数据卷:
docker run -d -v <卷名>:<容器内路径> --name <容器名> <镜像名>
❝
欢迎访问我们的网站和关注我们的公众号,获取最新的免费资源、安全知识、信息流。
网站:https://hackerchi.top
互联网信息流:https://hackerchi.top/Feeds.html
微信公众号:黑客驰
❞
💡免责声明:本文为共享文章,仅有教育交流目的,不构成任何法律或专业建议。读者应自行承担使用该文章所产生的风险和责任。作者和组织不对使用该文章所引起的任何损失或损害负责。本文严禁提供、讨论或鼓励任何网络安全违法行为。请遵守法律法规,进行合法的技术共享活动。
👉请大家关注我们的公众号"黑客驰",收藏我们的文章,转发给你的朋友们,让更多的人了解到这些有用的知识!网站是实时更新的,公众号每天只有1次机会,不想错过关键内容的话,推荐您访问官网[1],如果能给个免费的赞!或者打赏点咖啡钱更好!
参考资料
原文始发于微信公众号(黑客驰):一文入门Docker
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论