docker、docker engine和docker desktop区别
Last updated
Last updated
安装docker时,官网有docker desktop和docker engine两种,这两种有什么不同?应该安装哪种呢?
docker desktop包含虚拟机、图形界面及其他特性比如带了一个单节点的kubernetes集群,虚拟机里有一个Docker CE (Docker Community Edition)守护进程。
docker engine,根据官方文档包含三部分
守护进程dockerd
api,程序可通过api与dockerd交互
命令行工具客户端docker,命令docker command中的docker
在docker desktop里,docker客户端是在宿主机中,守护进程在虚拟机里。当要访问docker desktop的ip时,要谨记一条-docker network存在于虚拟机中,即使使用docker run --net host那也是使用虚拟机的host network,而不是物理机的network。docker container运行在虚拟机中,其他一切都是结果。 在Windows和MacOS中,要想运行linux容器,必须有虚拟机,在linux中是不需要的;不过,为了一致体验,如果在linux中安装desktop也会安装一个虚拟机。
官方文档是如此描述的Docker Engine
Docker Engine is an open source containerization technology for building and containerizing your applications. Docker Engine acts as a client-server application with: A server with a long-running daemon process dockerd. APIs which specify interfaces that programs can use to talk to and instruct the Docker daemon. A command line interface (CLI) client docker.
docker论坛对docker desktop的描述。
Basically Docker Desktop is a virtual machine + Graphical user interface with some extra features like the new extensions and running a single-node Kubernetes “cluster” easily. Inside the virtual machine there is Docker CE (Docker Community Edition) daemon.
官方文档中提到的docker desktop组成部分。
如果装在macOS、windows、linux等有图形的桌面电脑,则用docker desktop。比如windows电脑、macos电脑、ubuntu、fedora电脑。 如果装在没有图形的电脑,则用docker engine,比如公司的centos服务器、阿里云的centos服务器等
原文链接:https://blog.csdn.net/wangjun5159/article/details/127276708