一文带你详细了解docker技术

2023年 7月 19日 47.3k 0

一:什么是docker

Docker是一种虚拟技术,诞生于2013年,是dotclound公司研发的开源项目,因为docker这个公司后来改名docker inc,docker的目标是实现轻量级的操作系统虚拟化解决方案。通俗点说,我们想在一台机器上运行多个系统,就产生了虚拟机,当我们想在一个系统运行很多虚拟环境的时候,虚拟机就不行了,这时候就出现了docker,docker基于linux容器技术,再进行了很多封装,用户不用关心容器的管理,可以使操作更加简单。用户使用docker容器就像使用一个快速轻量级的虚拟机一样,非常的简单方便。
Docker跟虚拟机有很多不同之处,容器是在操作系统层面实现虚拟化,直接复用本机
操作系统,而传统虚拟机是在硬件层面实现 见下图:

二:为什么使用docker

作为一种虚拟化技术,docker与传统虚拟机相比,具有众多的优势:

更快速的交付和部署

在项目整个过程中,docker都可以发挥自己的优势,开发在开发代码的时候,可以构架一个开发容器,开发完成后,运维人员可以直接使用开发的容器来部署项目,docker可以快速的创建复制容器,docker容器很轻很快,后期测试的时候也可以轻松使用容器来部署测试环境。可以快速的提高整个链条的效率。

**高效扩容 **

因为docker可以在任意的平台上运行,包括物理机,虚拟机,各种云环境,服务器等,所以如果想把一个项目迁移到另外一个平台,非常的简单方便,docker的兼容和轻量特性,可以让你轻松实现服务器的扩容迁移等操作。

更高的资源利用率

因为docker的轻量级特征,一台主机上可以运行上千个docker容器,容器只有在运行项目时,才消耗系统资源,应用的性能很高,而系统的开销却很小,可以保证很高的资源利用率。

三 docker的结构

**Docker引擎 **

Docker引擎主要组件如下:

Server是一个常驻进程,用来管理整个docker的交互。
实现客户端和服务端的通信。

镜像image

镜像就是一个环境的只读的模板,一个镜像里面包含了虚拟的操作系统环境,可以安装各种你需要的项目软件,比如tomcat,mysql等等。有了镜像,就可以根据这个镜像来创建docker容器,无论你在什么地方,使用这个镜像都可以复制出同样的容器环境。

**仓库: **

仓库就是集中放置镜像的场所,主要分为公有仓库和私有仓库,最大的公有仓库就是docker hub,存放了大量成熟的镜像供用户下载使用。国内的有时速云,网易云等,当然你也可以在本地网络创建自己的私有仓库。

**容器: **

Docker使用容器来运行应用,容器就是镜像运行的运行实例,我们可以通过成熟的镜像来创建一个容器,而后将自己的应用运行到上面。如果在公司内部,你可以安装自己的所需环境的软件,然后整个生成成一个docker镜像,这时候就可以将镜像共享给别人,大家就可以执行镜像,运行出容器,就有了你之前的那个环境,使用起来非常方便。

四 docker的基本使用

Docker的常用命令(以mysql为例)

1:获取镜像

可以使用docker pull的命令,比如 docker pull mysql:8.0

2:列出所有镜像

docker images
可以看到你的docker中的下载的镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql:8.0 mysql:8.0 6a77ab6655b9 8 weeks ago 194.6 MB

3:执行镜像

docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

4:查看运行的镜像

命令:docker ps -a

5:进入镜像

进入镜像 运行mysql

命令:docker exec -it mysql8.0 /bin/bash
备注:exec docker进入容器命令 -it 容器中服务别名 /bin/bash 表示命令行模式 与 -d 后台守护进行模式启动 形成两种运行方式
命令:cd /usr/bin
命令:mysql -u root -p
备注: 在容器中进入用户目录启动mysql 输入密码连接成功
安装成功
其他就正常操作mysql了。

6:创建镜像

你可以利用 Dockerfile 来创建镜像
docker build
使用 docker commit 来扩展一个镜像比较简单,但是不方便在一个团队中分享。我们可以使用
docker build 来创建一个新的镜像。为此,首先需要创建一个 Dockerfile,包含一些如何创建镜像的指令,此内容可以参考网络
编写完成 Dockerfile 后可以使用 docker build 来生成镜像

本文主要是介绍一下docker技术,如果你需要了解更多,请关注我们谢谢!

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论