docker入门教程

2023年 10月 10日 100.1k 0

docker安装

安装地址

image.png

docker是什么

linux 容器的一种封装,提供简单易用的容器使用接口。

  • 将应用程序与依赖打包到一个文件里,运行文件就生成一个虚拟容器。程序在虚拟容器里仿佛在真实物理机上。

1. 查看

docker version
# or
docker info

2. image(镜像)文件

# 列出本机所有 image 文件
docker image ls

# delete image
docker image rm [imageName]

从仓库抓取 image 到本地

  • library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组(默认组,可省略不写),hello-world是 image 文件的名字。
docker image pull library/[imageName]
# or
docker image pull [imageName]

运行 image 文件: 分为2种

# 新建容器,多次运行会重复生成
docker container run [imageName]

# 单纯启动
docker container start [containerID]

有些容器会自动终止,有些不会自动终止的是因为——提供的是服务,需手动终止

# 强行立即终止,那些正在进行中的操作会全部丢失。
docker container kill [containID]

# or
# 自行进行收尾清理工作后再停止
docker container stop [containerID]

3. 容器文件

  • **mage 文件生成的容器实例,本身也是一个文件,称为容器文件。**也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。
# 列出本机正在运行的容器
docker container ls

# 列出本机所有容器,包括终止运行的容器
docker container ls --all

# 终止运行的容器文件,依然会占据硬盘空间,可以使用docker container rm命令删除。
docker container rm [containerID]

4. 实例:制作docker容器

4.1 进入项目根目录

git clone 
cd koa-demos

4.2 新建文件 .dockerignore

  • 以下表示这三个路径要排除,不要打包进入 image 文件。如果你没有路径要排除,这个文件可以不新建。
.git
node_modules
npm-debug.log

4.3 新建文件 Dockerfile

# 该 image 文件继承官方的 node image,冒号表示标签,这里标签是8.4,即8.4版本的 node。
FROM node:8.4

# 将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录
COPY . /app

# 指定接下来的工作路径为/app。
WORKDIR /app

# 在/app目录下,运行npm install命令安装依赖。注意,安装后所有的依赖,都将打包进入 image 文件。
RUN npm install --registry=https://registry.npm.taobao.org

# 将容器 3000 端口暴露出来, 允许外部连接这个端口。
EXPOSE 3000

4.4 创建 image 文件

  • -t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点。
# 注意最后有个.
docker image build -t koa-demo .

# or
docker image build -t koa-demo:0.0.1 .

4.5 生成容器

  • p参数:容器的 3000 端口映射到本机的 8000 端口。
  • it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
  • koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。
  • /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。
docker container run -p 8000:3000 -it koa-demo /bin/bash

# or
docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash

4.6 运行

  • Koa 框架已经运行起来了。打开本机的浏览器,访问 http://127.0.0.1:8000,网页显示"Not Found",这是因为这个 demo 没有写路由。
node demos/01.js

4.7 终止运行

docker container kill [containID]

# or
docker container stop [containerID]

参考自阮一峰docker教程

相关文章

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

发布评论