一幅长文细学Docker(一)——初识docker

简介: Docker是一个开源的应用容器引擎,其诞生于2013年初,基于Go语言实现,由dotCloud公司出品。在docker产品爆火之后,公司改名为Docker Inc。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。

1 初识Docker

1.1 Docker概述

引入:一般在项目开发中,我们总会经历这么几个流程:开发环境-》测试环境-》生产环境。开发环境下首先先写开发项目的代码,而后交给测试人员在测试环境中进行测试,最后交给运维人员部署在生产环境中;在这个过程中,很容易出现一个问题:加入在开发环境中书写的代码是JDK7,那么在测试环境如果使用的是JDK8,就极有可能出现代码错误,我们称这个情况为代码的水土不服。为此,在开发环境迁移项目到测试环境时,我们必须把所谓的水土也就是环境一起随着项目迁移,这就可以解决软件跨环境迁移的问题。而存放环境和项目的东西我们称之为容器

说明:Docker是一个开源的应用容器引擎,其诞生于2013年初,基于Go语言实现,由dotCloud公司出品。在docker产品爆火之后,公司改名为Docker Inc。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上;强大的是,一台Linux机器上甚至可以运行多个docker容器,容器使用沙箱机制,相互隔离,这和其logo相对应,并且容器性能开销极低。在Docker从17.03版本之后,其又分为CE社区版和EE企业版。


1.2 Docker安装

官网Home - Docker

说明:Docker可以运行在mac、window、linux上,在本文中,我们主要将docker安装与CentOS系统上。

安装

#1.yum包
yum update
#2.安装需要的依赖项
yum install -y yum-utils device-mapper-persistent-data lvm2
#3.设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#4.安装docker,-y参数表示出现输入的界面皆按y即可
yum install -y docker-ce
#5.查看docker版本,验证是否安装成功
docker -v


1.3 Docker架构

说明:Docker包含了多个结构,下面我们分别一一讲解:

  • 镜像(Image):Docker镜像(Image),就相当于是一个root文件系统。
  • 容器(Container):镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是运行时的实体;容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像;仓库可以分为两种类型的仓库,一种为Docker官方的仓库,另一种是私人的仓库。

image-20221009144050484


1.4 配置Docker镜像加速器

说明:Docker的中央仓库位于海外,这就意味着可能会被限速;故我们需要配置镜像加速器来加速仓库的传输,其中比较好用的就是阿里云镜像;配置镜像加速器可以通过阿里云下面的步骤来进行配置。

image-20221009144711338

目录
相关文章
|
1月前
|
监控 安全 虚拟化
Docker技术概论(5):Docker网络
Docker技术概论(5):Docker网络
220 6
|
运维 Kubernetes 负载均衡
Docker不香吗?为什么还要用k8s
Docker不香吗?为什么还要用k8s
Docker不香吗?为什么还要用k8s
|
运维 Ubuntu Devops
【Docker 系列】docker 学习 一,Docker的安装使用及Docker的基本工作原理 | 8月更文挑战
docker对进程进行封装隔离,属于 操作系统层面的虚拟化技术
163 0
|
Docker 容器
Docker学习(1):一张图讲解Docker所有的基本要素
Docker学习(1):一张图讲解Docker所有的基本要素
101 0
Docker学习(1):一张图讲解Docker所有的基本要素
|
Prometheus Cloud Native Shell
宇宙最全实用高超的docker命令技巧
宇宙最全实用高超的docker命令技巧
|
NoSQL 网络协议 应用服务中间件
docker-compose是个好东西,越用越香
本文会讲述企业级示例项目中用到的 docker volume、docker network、redis、sqlite、docker HealthCheck 等相关知识,忽略CentOS基本操作、Linux 下安装Docker、docker compose工具, Linux安装Redis等前置知识点。
docker-compose是个好东西,越用越香
|
NoSQL 关系型数据库 MySQL
|
Ubuntu 安全 Java
|
存储 Ubuntu 关系型数据库
一些docker的技巧和秘诀
关于docker容器和镜像的关系 无论容器里做什么操作,写文件,删文件。该容器的基本镜像都不会有任何改变。这是因为Docker从父镜像建立增量镜像,只存储每个容器的更改。因此,如果你有一个300MB的父镜像,如果你在容器中安装了50MB的额外应用或服务,你的容器只有50MB,父镜像还是300MB。 但是可以使用Dockfile或commit命令来,把增量镜像和父镜像一起生成一个新的镜像。 dock top -- 显示容器中运行的进程 查看容器的root用户名和密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为docker
166 0