Dokcer Image、container、常用命令(二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_34125999/article/details/100088532

1、Docker Image

Image(镜像)就是一堆只读层(read-only layer)的统一视角。从左边我们看到了多个只读层,它们重叠在一起。除了最下面一层,其它层都会有一个指针指向下一层。这些层是Docker内部的实现细节,并且能够 在主机(译者注:运行Docker的机器)的文件系统上访问到。统一文件系统(union file system)技术能够将不同的层整合成一个文件系统,为这些层提供了一个统一的视角,这样就隐藏了多层的存在,在用户的角度看来,只存在一个文件系统。 我们可以在图片的右边看到这个视角的形式。
在这里插入图片描述

#docker hub里面有很多很多的镜像:
https://hub.docker.com/

在这里插入图片描述

#搜索命令
docker search centos

在这里插入图片描述

#拉取命令
docker pull centos
#查询命令
docker image ls
#docker images

在这里插入图片描述

2、 制作一个helloword image

2.1、环境准备

#创建目录
mkdir -p /usr/local/docker/image/helloworld
#进入目录
cd  /usr/local/docker/image/helloworld
#创建c语言的helloworld
vim hello.c
#include <stdio.h>
int main() {
    printf("hello world!\n");
}
#安装环境
yum -y install gcc  yum -y install glibc-static
#编译环境hello.c
gcc -static hello.c -o hello
#验证
./hello

在这里插入图片描述
2.2、创建Dockerfile文件

#创建DockerFile
vim Dockerfile

#FROM scratch:不以任何镜像为基础;ADD:一个复制命令,把文件复制到景象中。CMD:执行命令
FROM scratch
ADD hello /
CMD ["/hello"] 

在这里插入图片描述
2.3、创建image

#docker buld -t TAGNAME 目录  
docker build -t zhuzhu/hello-world .
#运行
docker run zhuzhu/hello-world

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、container

4.1、Container介绍
1)要有Container首先要有Image,也就是说Container是通过image创建的。
2)Container是在原先的Image之上新加的一层,称作Container layer,这一层是可读可写的(Image是只读的)。
3)在面向对象的编程语言中,有类跟对象的概念。类是抽象的,对象是类的具体实现。Image跟Container可以类比面向对象中的类跟对象,Image就相当于抽象的类,Container就相当于具体实例化的对象。
4)Image跟Container的职责区别:Image负责APP的存储和分发,Container负责运行APP。

4.2、基础命令

#运行container
docker run zhuzhu/hello-world
#查看当前运行的docker
docker container ls
#查看所有的容器,运行的&&退出的
docker container ls -a
#删除以往记录  container rm id
docker container rm 807aee8c94e9
#全部删除
#获取全部的ID  -q获取id
docker container ls -aq
#删除
docker rm   $(docker container ls -aq)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、其它命令

5.1、把一个container重新制作成image

#交互的运行一个镜像
docker run -it centos 
#运行vim 发现该镜像没有vim,安装vim
yum install -y vim
#退出
exit
#把退出的container制作成image
docker container ls -a
#制作,docker commit 容器名称  镜像名称
docker commit mystifying_lehmann zhuzhu/centos-vim
#验证
docker run -it zhuzhu/centos-vim
vim

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.2、通过Dockerfile创建centos-vim

#删除原来的centos-vm镜像
docker image rm f9279a3b211d
#创建文件目录里
mkdir -p /usr/local/docker/image/vimcentos
cd /usr/local/docker/image/vimcentos
#创建Dockerfile
vim Dockerfile
#内容
FROM centos
RUN yum install  -y vim
#构建image
#buid -t 名字 .当前目录
docker build -t zhuzhu/centos-vim .
#测试
docker images
docker run -it zhuzhu/centos-vim

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34125999/article/details/100088532