一文入门Docker

admin 2024年4月19日21:17:39评论3 views字数 2323阅读7分44秒阅读模式
一文入门Docker

Docker是一种开源的应用容器引擎,允许开发者打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何支持Docker的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。

Docker容器是什么?

Docker是一种轻量级的虚拟化技术,同时也是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包进一个轻量级、可移植的容器中,然后这个容器可以在任何支持Docker的Linux或Windows系统上运行。与传统的虚拟机相比,Docker容器不需要单独的操作系统,它们共享宿主机的内核,这使得Docker容器启动速度快、占用资源少。

为什么需要Docker容器?

在传统的虚拟机技术中,每个虚拟机都需要完整的操作系统来运行应用,这导致资源占用高和启动缓慢。Docker容器提供了一种更加高效的方式,它允许多个容器共享宿主机的操作系统内核,大大减少了资源消耗和提高了启动速度。此外,Docker容器简化了应用的打包、分发和部署流程,使得应用可以在任何地方以相同的方式运行,极大地提高了开发和运维的效率。

Docker容器

  • 启动速度:Docker容器可以在几秒钟内启动,而虚拟机可能需要几分钟。

  • 资源消耗:Docker容器共享宿主机的操作系统内核,占用的资源更少;虚拟机需要完整的操作系统,占用更多资源。

  • 迁移和扩展:Docker容器的轻量级特性使得它们更容易被迁移和扩展。

  • 隔离性:虚拟机提供了完整的操作系统级别的隔离,而Docker容器提供了进程级别的隔离。

  • 一文入门Docker

    一文入门Docker


Docker容器是如何工作的?

Docker的工作可以分为三个主要部分:

  1. 镜像(Image):Docker镜像是一个轻量级、可执行的独立软件包,包含运行应用所需的一切:代码、运行时、库、环境变量和配置文件。

  2. 容器(Container):容器是镜像的运行实例。当你从镜像运行容器时,Docker引擎在宿主机上为容器分配一个可隔离的环境,而不需要启动一个完整的操作系统。

  3. 仓库(Registry):Docker仓库用于存放镜像,支持公开和私有两种模式。Docker Hub是最流行的公共Docker仓库,用户可以从中拉取镜像或者推送自己的镜像。

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],如果能给个免费的赞!或者打赏点咖啡钱更好!

参考资料

[1]官网: https://hackerchi.top/

原文始发于微信公众号(黑客驰):一文入门Docker

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月19日21:17:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一文入门Dockerhttps://cn-sec.com/archives/2671217.html

发表评论

匿名网友 填写信息