Docker 入门:镜像、容器与 Desktop
什么是 Docker?
简单说,Docker 可以把你的应用和它所需要的环境(比如 Node.js、Nginx、数据库)一起打包成一个“镜像”。这个镜像就像是一个压缩包,里面装好了所有东西。然后你可以把这个镜像“跑起来”,变成一个独立的小房间,这个房间就叫“容器”。容器之间互相隔离,不会打架,但又能通过端口、数据卷等方式和你电脑上的其他程序通信。
有了 Docker,你想部署多个相同的服务?直接跑多个容器就行,几分钟搞定,再也不用在一台服务器上折腾环境冲突了。
Docker Desktop:可视化神器
以前用 Docker 都是在命令行里敲命令,对于新手来说,有点劝退。但 Docker Desktop 出来以后,事情就变得简单多了。它给你提供了一个图形界面,可以直观地看到本地有哪些镜像、哪些容器在运行、数据卷(Volume)里存了啥。你甚至可以点点鼠标就启动一个 Nginx 容器,完全不用背命令。
比如你想拉一个 Nginx 镜像,打开 Docker Desktop,搜索 nginx,点击 pull,镜像就下来了。然后你想把它跑起来?点一下 run,弹出窗口让你填端口映射(比如把本地的 8080 映射到容器的 80),再填上要挂载的数据卷(比如把本地的某个文件夹挂到容器的 /usr/share/nginx/html),确定之后容器就启动了。是不是很像装软件?
命令行的存在感
当然,Docker Desktop 里的所有操作,其实背后都是命令行在干活。比如你刚刚用界面做的那些事,在命令行里对应的是:
docker pull nginx
docker run -d -p 8080:80 -v /my/local/folder:/usr/share/nginx/html nginx所以当你习惯了 Docker 的基本操作,将来如果要在没有桌面的服务器上部署,直接用命令就行。不过刚开始学,用 Desktop 上手绝对是最舒服的方式。
小试牛刀:跑一个 Nginx 服务
我们来实操一下,从零开始跑一个 Nginx 容器。
- 拉镜像:在 Docker Desktop 里搜索 nginx,点击 pull,或者命令行
docker pull nginx。 - 运行容器:点 run,设置端口映射为 8080:80,数据卷挂载你电脑上的一个文件夹(比如放静态网站的文件夹),然后启动。
- 访问:打开浏览器,输入
http://localhost:8080,如果看到 Nginx 欢迎页,恭喜你,成功啦!
这就是 Docker 的基本用法:镜像 -> 容器,再加上端口映射和数据卷挂载,就能把一个服务跑起来,并且数据还能持久化。
为什么数据卷很重要?
你可能会问,容器里不是也有文件系统吗?为什么还要挂载数据卷?因为容器一旦被删除,里面的数据就全没了。如果你把重要数据放在挂载的数据卷里,即使容器删了,数据还在,下次再建一个容器挂载同一个卷,数据又回来了。所以数据卷是实现数据持久化的关键。

Comments | NOTHING