Docker不是Linux自带的,需要我们自己安装
官网:https://www.docker.com/
安装步骤:https://docs.docker.com/engine/install/centos/
Docker Hub官网(镜像仓库):https://hub.docker.com/
在线安装docker
- 先卸载旧的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
-
设置yum仓库
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
安装docker
docker-ce是社区版,免费的
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
启动docker
sudo systemctl start docker # 设置docker开机自启 sudo systemctl enable docker # 禁止docker开机自启,不需要操作 sudo systemctl disable docker
-
测试docker
sudo docker run hello-world
hello-woeld是官方提供的用于测试的镜像
有以下提示,就是成功了,如果没有,上面的命令多执行几次
Hello from Docker!
This message shows that your installation appears to be working correctly.
什么是Docker
docker是开发运维一体化的核心技术
开发一个项目,分工部门如下:
如果开发运维没有实现一体化,那么就会面临环境反复搭建的情况
是非常耗时,消耗资源的。而且不利于项目后期的更新与维护
项目环境只需要部署一次,就可以节省资源和时间。我们可以通过虚拟机打包项目以及项目环境,那么只需要有运行虚拟机的环境就可以测试项目,这样就不用反复的去搭建项目环境。但是目前我们使用的虚拟机,需要大量的内存来运行,因为现在的虚拟机是重量虚拟机,需要克隆一个完成的操作系统和环境才能运行,是非常消耗内存,启动速度慢(以分钟为单位)。
我们需要一个轻量级的虚拟机,操作系统和环境直接使用宿主机的,不再虚拟一份完整的环境,占用资源少,启动快(以秒为单位)
Docker就可以看做是一个轻量级的虚拟机。专业的叫法是应用容器(Application Container)
docker基本概念
镜像(image)
就相当于一堆静态文件,是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(比如匿名卷)。镜像不包含任何动态数据,其内容在构建后也不会被改变
镜像在构建时,会一层一层构建,前一层是后一层的基础。每一层构建完之后,不会再发生变化,后一层的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一层文件,而是仅在当前层标记为该文件已删除。
分层存储的特征使得镜像的复用。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,定制自己所需的内容,构建新的镜像。
容器(container)
镜像和容器的关系,就像是java中类和对象的关系,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停
容器的实质是进程,但与直接在宿主机执行的进程不同,容器进程运行与属于自己的独立的命令空间。所以容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户ID空间。
容器中的数据不是共享的
我们如果数据需要共享或者是持久保存,不让数据随着容器的移除而消失,我们需要进行数据管理,提供两种方式:数据卷挂载、目录挂载
仓库(repository)
仓库可看成一个代码控制中心, 用来保存镜像
上一篇文章:数据库事务-CSDN博客https://blog.csdn.net/Z0412_J0103/article/details/143199520下一篇文章: