Docker的基本操作

Docker的安装

生成镜像

docker build -t <image_name>:<tag> .

额外的参数

Dockerfile

类比webpack.config.js OR vite.config.js 构建的配置文件

Dockerfile的位置可以用-f参数指定(例如docker build -f dockerfiles/Dockerfile.debug .)。若未指定,Docker则会尝试在上下文的根目录寻找名为Dockerfile

.dockerignore

类比.gitignore 忽略构建镜像时的文件。 我们要尽可能减小docker构建完之后的体积,以减少部署时候网络传输的时间。一些不需要的文件可以配置到此处,打包时需要,运行时不需要的文件可以构建结束前删掉(Dockerfile中可以删除不需要的文件,但是不能删除Dockerfile本身,因为Dockerfile中使用脚本删除)。

查询镜像

docker image ls
# 返回值说明
# 仓库名              版本                 镜像ID              创建时间              大小              
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
redis                latest              5f515359c7f8        5 days ago          183 MB
nginx                latest              05a60462f8ba        5 days ago          181 MB
mongo                3.2                 fe9198c04d62        5 days ago          342 MB
<none>               <none>              00285df0df87        5 days ago          342 MB
ubuntu               18.04               329ed837d508        3 days ago          63.3MB
ubuntu               bionic              329ed837d508        3 days ago          63.3MB

额外的参数

-a 默认只展示顶层镜像,加上 -a 参数可以展示所有镜像,包含中间层镜像。

-f 简单过滤可以直接 docker image ls nginx 后面跟镜像名或者镜像名:Tag, -f (filter)支持更强大的过滤条件,比如: docker image ls -f since=mongo:3.2返回tag >= 3.2的镜像。

拉取镜像

docker pull <image_name>:<tag>

删除本地镜像

docker image rm <image_name>:<tag>
# or
docker image rm <image_id>

image_id 获取参考查询镜像

启动镜像

docker run -it <image_name>:<tag>