Kymotz's Blog

Docker 常见名词

#Docker

第一次学习 docker 会有几个概念使人迷惑,今天总结一下他们之间的关系。

他们之间的关系是:

image.png

先理清楚几个概念

仓库:通常只 docker hub,是 docker 的中央仓库,当然我们也可以自建仓库。

Dockerfile:构建容器镜像的配置文件,可以把它理解为生成镜像的 “菜单”。

镜像 image:镜像用来生成 docker 容器,容器通过 commit 命令可以将容器持久化为 image。

TAR:是 docker 镜像(image)归档存储文件,该文件未压缩。

Container:docker 运行的实体,所有程序在容器内运行,容器具有隔离性,容器之间除非通过网络(network)连接,否则相互隔离。

相互转化的命令

将 Dockerfile 构建为镜像

1# 常用,当前目录下的 Dockerfile 必须以 “Dockerfile” 命名
2# -t 指定构建镜像(image)的名字(image_name)个标签(tag), (.)代表当前路径
3docker build -t image_name:tag .
4
5# 指定Dockerfile
6# -f 指定Dockerfile
7docker build -f Daocker-api -t image_name:tag

拉取镜像

1# 在命令后直接加名字和标签即可从 docker hub 拉取镜像
2docker pull nginx:latest

运行容器

1# -i 进入容器 -t tty终端 -d 后台运行  image_name:tag 是镜像名称和标签
2docker run -itd image_name:tag /bin/bash

将容器转化为镜像

1# my_container 为容器名    my_image:v1 为镜像名和标签
2docker commit my_container my_image:v1

把镜像归档存储

1# -o 指定输出到哪个文件, my_nginx:v1 为镜像名和标签
2docker save -o ./nginx.tar  my_nginx:v1

加载归档的镜像文件

1# 加载 nginx.tar 文件, -i 读取归档(archive)文件
2docker load -i ./nginx.tar
3
4# 查看
5[root@lqc ~]# docker images
6REPOSITORY              TAG                    IMAGE ID            CREATED             SIZE
7my_nginx                v1                     3e37a8441470        2 hours ago         133MB

注意:加载后的镜像会覆盖本地的镜像


comments powered by Disqus