Docker 常见名词
第一次学习 docker 会有几个概念使人迷惑,今天总结一下他们之间的关系。
他们之间的关系是:
先理清楚几个概念
仓库:通常只 docker hub,是 docker 的中央仓库,当然我们也可以自建仓库。
Dockerfile:构建容器镜像的配置文件,可以把它理解为生成镜像的 “菜单”。
镜像 image:镜像用来生成 docker 容器,容器通过 commit
命令可以将容器持久化为 image。
TAR:是 docker 镜像(image)归档存储文件,该文件未压缩。
Container:docker 运行的实体,所有程序在容器内运行,容器具有隔离性,容器之间除非通过网络(network)连接,否则相互隔离。
相互转化的命令
将 Dockerfile 构建为镜像
# 常用,当前目录下的 Dockerfile 必须以 “Dockerfile” 命名
# -t 指定构建镜像(image)的名字(image_name)个标签(tag), (.)代表当前路径
docker build -t image_name:tag .
# 指定Dockerfile
# -f 指定Dockerfile
docker build -f Daocker-api -t image_name:tag
拉取镜像
# 在命令后直接加名字和标签即可从 docker hub 拉取镜像
docker pull nginx:latest
运行容器
# -i 进入容器 -t tty终端 -d 后台运行 image_name:tag 是镜像名称和标签
docker run -itd image_name:tag /bin/bash
将容器转化为镜像
# my_container 为容器名 my_image:v1 为镜像名和标签
docker commit my_container my_image:v1
把镜像归档存储
# -o 指定输出到哪个文件, my_nginx:v1 为镜像名和标签
docker save -o ./nginx.tar my_nginx:v1
加载归档的镜像文件
# 加载 nginx.tar 文件, -i 读取归档(archive)文件
docker load -i ./nginx.tar
# 查看
[root@lqc ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my_nginx v1 3e37a8441470 2 hours ago 133MB
注意:加载后的镜像会覆盖本地的镜像