Docker 技术分享

Docker是什么

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(百度百科)
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。

Docker解决什么问题

在任何地方开发、部署和运行任何应用。

在这里插入图片描述 对比(docker相当于传统的虚拟化技术,不需要额外的系统作为运行应用的环境)

  • 轻量级的容器
  • 速度快
  • 跨环境、跨系统运行
  • 构建(部署)简单
  • 管理简单

docker核心概念

  • 镜像(Image)
    类似于虚拟机镜像(不可读写, 无状态)
  • 容器(Container)
    就相当于是一个小型系统,从镜像启动
  • 仓库(Repository)
    一个仓库放一个镜像
    关系

Docker安装

安装链接: https://docker_practice.gitee.io/zh-cn/install/

  • Windows:
    下载安装exe文件(要求支持 Hyper-V)

  • Ubuntu:
    卸载旧版本(非必要):

$ sudo apt-get remove docker \
               docker-engine \
               docker.io

安装:

$ sudo apt-get update

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

强烈推荐使用国内源:
为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -


# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

source list 添加:

$ sudo add-apt-repository \
    "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
    $(lsb_release -cs) \
    stable"


# 官方源
# $ sudo add-apt-repository \
#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
#    $(lsb_release -cs) \
#    stable"

更新 apt 软件包缓存,并安装 docker-ce:

$ sudo apt-get update

$ sudo apt-get install docker-ce

Docker操作

以运行Nginx为例

  • 拉取
$ docker pull nginx
  • 查看镜像
$ docker images
  • 运行(-d 后台 -p 内部外部端口映射) 可运行多个
$ docker run -d -p 80:80 nginx
  • 查看运行
$ docker ps
  • 进入镜像
$ docker exec -it container_id bash
  • 删除容器
$ docker rm -f 容器id
  • 提交镜像
$ docker commit container_id name
  • 写好dockerfile 构建镜像
$ docker build -t name .
  • 删除镜像
$ docker rmi -f 镜像id
  • 加载tar
$ docker load < 1.tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker 是一个开源的容器化平台,可以帮助开发人员和系统管理员更高效地构建、部署和运行应用程序。它的技术架构主要包括以下几个组件: 1. Docker Engine:Docker 引擎是 Docker 的核心组件,负责管理容器的生命周期、创建和运行容器、以及与宿主机交互等。它包括三个主要的子组件:Docker Daemon、Docker Client 和 Containerd。 2. Docker Daemon:Docker Daemon 是在宿主机上运行的后台服务,负责监控 Docker API 请求,并管理容器的创建、启动、停止、删除等操作。 3. Docker Client:Docker Client 是与 Docker Daemon 交互的命令行工具或 API 接口,开发人员可以使用它来与 Docker 容器进行交互,例如创建、启动、停止和删除容器等。 4. Containerd:Containerd 是一个独立的容器运行时工具,负责管理容器和镜像的生命周期。Docker 引擎使用 Containerd 来创建和运行容器,并提供了一组 API 接口供其他组件调用。 5. Docker Registry:Docker Registry 是用于存储和分发 Docker 镜像的中心仓库。它可以是 Docker 官方提供的公共仓库(如 Docker Hub),也可以是私有的镜像仓库(如搭建在本地的私有 Registry)。 6. Docker Image:Docker Image 是用来构建容器的模板,包含了运行一个应用程序所需的所有文件和配置。Docker Image 可以通过 Dockerfile 来定义,然后使用 Docker Build 命令进行构建。镜像可以通过 Docker Registry 进行分享和分发。 7. Docker Container:Docker Container 是由 Docker Image 创建的运行实例,它是一个独立的、可执行的环境,可以运行在 Docker Engine 上。每个容器都是相互隔离的,拥有自己的文件系统、进程空间和网络配置等。 8. Docker Compose:Docker Compose 是一个用于定义和管理多个容器组成的应用服务的工具。通过编写一个 Compose 文件,可以一次性启动、停止、删除多个相关联的容器,并统一管理它们的配置。 9. Docker Swarm:Docker Swarm 是 Docker 官方提供的原生容器编排和集群管理工具,可以将多个 Docker 主机组成一个集群,并统一管理和调度容器的部署、扩展和更新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值