Docker(🐋)学习笔记-1
本文最后更新于:2023年5月2日 凌晨
Docker是什么?
是一条🐋是一个应用容器引擎。反正就是你可以用它来打包、传输和新机器上快速部署应用。(为应用提供一个独立的、隔离的沙盒环境)
什么是容器?
这里引用官方文档的原文,一个容器可以总结以下几点:
- 是一个镜像的可运行实例。你能够通过使用DockerAPI和CLI来创建、启动、停止、移动或是删除一个容器。
- 可以运行在本地或虚拟机上,又或是部署在云上。
- 是便携的(可运行在任何操作系统上)
- 和其他的容器是隔离的,并且运行它自己拥有的软件、二进制文件和配置。
在自己的机器上安装Docker
官方提供了三种平台(Mac、Windows、Linux)的安装文档:Get Docker。我自己是Windows平台。
Docker的安装可能比较复杂(因为还需要Windows安装Linux子系统和虚拟机平台支持什么的)!请耐心一步一步来并解决各种问题!
安装成功后的Docker Desktop界面:
同样的,你也可以在命令行中使用docker run hello-world命令进行验证,安装好后应该如图所示:
跟着官方创建一个容器并在其上面启动app
首先,我们把项目克隆到本地:git clone https://github.com/docker/getting-started.git。
然后在vscode中打开项目文件夹(当然了,vscode需要安装Docker扩展)。
注意到目录中的Dockerfile了吗?它是个简单的指令脚本,而且没有文件扩展,Docker就是用这个脚本来构建容器镜像的。
现在,让我们在当前文件夹的子文件夹app中创建一个Dockerfile脚本。
- 第一步,打开
vscode的悬浮命令行面板(快捷键为Ctrl+Shift+P),输入Terminal,找到Terminal:Create New Terminal并单击。 - 哦,当然,记得使用
Command Prompt而不是使用Powershell,下面的命令在Powershell中并不适用。要使用Command Prompt,在刚刚弹出的终端窗口的右上角,点击+和...之间的按钮,在弹出的列表中选择即可。 - 第二步,执行以下命令:
cd app,进入app文件夹;type nul > Dockerfile,创建Dockerfile脚本文件。
然后将以下内容复制到Dockerfile中:
1 | |
第一行的FROM指令初始化了一个新的构建阶段并为后续指令设置基本镜像,一个合法的Dockerfile必须以该指令开头。
第二行的WORKDIR就是为后续的RUN、CMD、ENTRYPOINT、COPY和ADD设置工作路径。
第三行的COPY指令从<src>复制新文件或目录,并将它们添加到容器的文件系统路径<dest> 中。 第四行的RUN就是执行跟在其后面的指令。 第五行的CMD指令的主要目的是为正在执行的容器提供默认值,这些默认值可以包含可执行文件,也可以在你指定ENTRYPOINT的情况下省略可执行文件。 第六行的EXPOSE指令告知Docker容器在运行的时候监听指定的网络端口,你可以指定端口是监听UDP还是TCP(EXPOSE 3000/udp),默认为TCP。 那么接下来就能够构建一个容器镜像了。在app目录下使用如下命令:docker build -t getting-started .`(了解更多有关该指令的信息,可以参考官方文档)
如果本地没有所需要的镜像(FROM指定的),那么Docker就需要从网上拉取。
最后一步,在我们的容器里启动app!输入指令:docker run -dp 3000:3000 getting-started来启动。
更新应用
TO DO…
参考文档
Docker官方文档。

希望本文章能够帮到您~