《二》(2)Linux必备知识---docker

一、虚拟机与docker

        虚拟机是一种将物理计算机划分为多个独立虚拟计算机的技术,每个虚拟机都具有自己的操作系统和硬件。而Docker是一种容器化技术,利用宿主机操作系统的内核来运行容器,实现资源的隔离和应用程序的轻量级封装。虚拟机和Docker在资源利用率、启动时间和系统要求等方面存在差异,选择使用哪种技术应根据具体需求来决定。

1、虚拟机(Virtual Machine)

        虚拟机是一种将物理计算机划分为多个独立的虚拟计算机的技术。每个虚拟机都类似于一个独立的计算机系统,具有自己的操作系统、硬件和应用程序。虚拟机软件(如VMware、VirtualBox等)通过在物理计算机上创建虚拟化层,使得多个虚拟机可以在同一台物理计算机上同时运行。

        虚拟机的工作原理是通过虚拟化软件模拟硬件资源,包括处理器、内存、硬盘和网络等。每个虚拟机运行在一个虚拟化层上,其上方是虚拟操作系统,可以安装和运行不同的操作系统,如Windows、Linux等。虚拟机可以独立运行应用程序,互相之间相互隔离,因此可以在同一台物理计算机上运行不同的操作系统和应用程序。

2、Docker技术

        Docker是一种容器化技术,可以将应用程序及其依赖项打包成一个可移植、可部署的容器。Docker使用操作系统级虚拟化技术,称为容器化,它利用宿主机操作系统的内核来运行容器,实现资源的隔离和应用程序的轻量级封装。

        Docker容器与虚拟机不同,它不需要模拟整个操作系统,而是共享宿主机操作系统的内核。这使得Docker容器更加轻量级和高效,容器间可以共享操作系统和库,减少了资源的消耗和启动时间。每个Docker容器都是相互隔离的,具有自己的文件系统、进程空间和网络接口,可以独立运行应用程序。

        Docker容器使用Docker镜像作为构建和运行容器的模板。Docker镜像是一个只读的文件,包含了应用程序及其依赖项的所有文件和设置。通过Docker容器编排工具(如Docker Compose、Docker Swarm和Kubernetes),可以管理多个Docker容器的部署和运行。

二、Docker容器技术

        Docker是一种开源的容器化平台,用于将应用程序及其依赖项打包成一个可移植、可部署的容器。总的来说,Docker通过容器化技术提供了一种轻量级、可移植、可扩展和可部署的应用程序打包和管理方式,使得应用程序在不同环境中更加易于部署和运行。

1、容器(集装箱)

       Docker利用容器化技术,将应用程序及其依赖项打包成一个独立、可移植的容器。容器包含了应用程序的所有文件、环境变量、库和运行时,可以在任何支持Docker的操作系统上运行。

        Docker容器是一个轻量级、独立的执行单元,其中包含了运行应用程序所需的所有文件、环境变量、库和运行时。容器基于Docker镜像创建,可以在任何支持Docker的操作系统上运行。容器可以被启动、停止、删除和重启。

2、镜像(复制的程序)

       Docker镜像是一个只读的模板,用于创建Docker容器。镜像包含了操作系统、应用程序和其它依赖项的所有文件和设置。用户可以使用Docker镜像来创建和运行多个相同的容器。镜像可以从Docker Hub(公共仓库)或自己搭建的私有仓库中获取 

3、仓库(存放镜像的地方)

        Docker仓库是用于存储和共享Docker镜像的地方。它可以是公共的(如Docker Hub)或私有的(如自己搭建的私有仓库)。用户可以从仓库中获取镜像,并将自己创建的镜像推送到仓库中供他人使用。

4、Dockerfile

        Dockerfile是一个文本文件,包含了一系列构建Docker镜像所需的指令和配置。通过编写Dockerfile,用户可以定义容器的环境、依赖项和启动命令等。使用Dockerfile可以实现自动化、可重复性的镜像构建过程。

5、容器编排(Container Orchestration)

        容器编排是指管理和协调多个Docker容器的过程。Docker提供了一些工具和平台,如Docker Compose、Docker Swarm和Kubernetes,用于实现容器编排。容器编排可以帮助用户在多个容器之间定义关系、规划资源、扩展和监控容器集群。

三、Docker常用命令

1、镜像相关命令

docker images:列出本地所有的Docker镜像。
docker pull <image_name>:从仓库中下载指定的Docker镜像。
docker build -t <image_name> <dockerfile_path>:根据Dockerfile构建一个新的Docker镜像。
docker push <image_name>:将本地的Docker镜像推送到仓库中。
docker rmi <image_name>:删除镜像文件。

2、容器相关命令

docker run <image_name>:根据指定的Docker镜像创建并启动一个新的容器。
docker ps (-a):列出当前正在运行的容器。
docker start <container_id>:启动一个已停止的容器。
docker stop <container_id>:停止一个正在运行的容器。
docker restart <container_id>:重启一个容器。
docker rm <container_id>:删除一个已停止的容器。
docker exec -it <container_id> <command>:在一个正在运行的容器中执行指定的命令。
docker stop $(docker ps -a -q)     docker rm $(docker ps -a -q):停止/删除所有容器。

3、仓库相关命令

docker login:登录到一个Docker仓库。
docker logout:退出当前登录的Docker仓库。
docker search <image_name>:在仓库中搜索指定的Docker镜像。

4、其他常用命令

docker network ls:列出当前存在的Docker网络。
docker volume ls:列出当前存在的Docker数据卷。
docker-compose up:根据docker-compose.yml文件创建并启动多个容器。
docker-compose down:停止并删除使用docker-compose启动的容器。
service docker stop,service docker start:重启docker服务

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值