docker build 构建属于自己的简易镜像

文章目录

      • 一、前置工作
    • 二、编写Dockerfile
      • 三、构建镜像

一、前置工作

1.安装c编译器

yum install -y gcc gcc-c++

2.安装c静态库

yum install -y glibc-static

3.创建一个.c文件,将代码写入

vim myhello.c
#include 
int main()
{
 printf("hello word gj");
 return 0;
}

5.将包含命令文件编译为可执行文件

gcc --static -o myhello myhello.c
--static 表示编译文件所需库 为静态库
-o 后跟编译后可执行文件名

6.执行编译后的二进制可执行文件

./myhello

二、编写Dockerfile

//注意,开头为大写D,可以使用-f指定Dockerfile文件,否则默认是当前目录下的Dockerfile文件

7.新建编译dockerfile

vim Dockerfile
FROM scratch
COPY myhello /  
CMD ["/myhello"]
--myhello 这个文件是我们自己创建的可执行文件,这个文件的路径是基于构建时指定的目录下级目录,需要配合构建语句决定

-- / 将myhello复制到容器内的此目录下
//也可以使用ADD 添加,当前命令为复制myhello二进制文件到容器的/目录

--CMD表示要运行的指令
--["/myhello"] 表示执行容器 / 目录下的 myhello 文件

三、构建镜像

8.查看命令参数及帮助

docker build --help
-t 指定所创建镜像的名称 <repo><tag>
-f 指定dockerfile文件,否则默认为PATH/Doockerfile  -f名称可以不固定为Dockerfile,也可以是dockerfile2等

9.构建镜像
docker build只认定Dockerfile文件,所以指定Dockerfile文件所在目录即可

docker build -t hello-myhello .
语法:docker build 参数 参数值 Dockerfile目录
-t 指定容器名
.    这个点表示以当前所在目录为父目录,Dockerfile内COPY和ADD所添加的文件都在此目录之下寻找,如果为 / 那就是以 / 目录为起始目录寻找文件

10.运行构建的镜像

docker run hello-myhello

你可能感兴趣的:(虚拟化,LINUX,docker,容器,运维)