PS小技巧:不运行sudo直接运行docker命令
sudo groupadd docker
sudo gpasswd -a docker docker #将用户加入docker组
sudo service docker restart
#重新登录shell
一、实验概述
编译一个hello-world的C语言可执行文件,然后将这个文件制作成为Base Image
二、实验操作
1、在docker家目录下创建hello-world目录,上传编译后的hello-world到此目录下
#include<stdio.h>
int main()
{
printf("hello docker\n");
}
2、创建Dockerfile文件
FROM scratch #代表制作Base Image
ADD hello /
CMD ["/hello"]
3、Build
[docker@localhost hello-world]$ docker build -t zheng007/hello-world .
Sending build context to Docker daemon 847.9kB
Step 1/3 : FROM scratch
--->
Step 2/3 : ADD hello /
---> 130bb58f10ec
Step 3/3 : CMD ["/hello"]
---> Running in 7aec355ea4c4
Removing intermediate container 7aec355ea4c4
---> c546aefca549
Successfully built c546aefca549
Successfully tagged zheng007/hello-world:latest
[docker@localhost hello-world]$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
zheng007/hello-world latest c546aefca549 11 seconds ago 844kB
4、查看镜像的分层
[docker@localhost hello-world]$ docker history c546aefca549
IMAGE CREATED CREATED BY SIZE COMMENT
c546aefca549 2 minutes ago /bin/sh -c #(nop) CMD ["/hello"] 0B
130bb58f10ec 2 minutes ago /bin/sh -c #(nop) ADD file:277ca2e4013da55b0… 844kB
5、执行新创建的Base Image
[docker@localhost hello-world]$ docker run zheng007/hello-world
hello docker