正文
打包一个Docker镜像,让你的好友加载开启一个容器,并且每隔一秒输出hello,world到指定的文件中
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
一、两个脚本代码
Dockerfile
FROM bash
COPY . /usr/herui/
WORKDIR /usr/herui/
CMD [ "sh", "hello_world.sh" ]
hello_world.sh
#!/bin/bash
while true
do
echo 'hello world!' >> /usr/herui/hello_world.log
sleep
done
二、打包成镜像
1、
[root@localhost herui]# docker build -t hello_world:1.01
"docker build" requires exactly argument(s).
See 'docker build --help'. Usage: docker build [OPTIONS] PATH | URL | - Build an image from a Dockerfile
[root@localhost herui]# docker build -t hello_world:1.01 .
Sending build context to Docker daemon .072kB
Step / : FROM bash
---> 906f4bf24f00
Step / : COPY . /usr/herui/
---> Using cache
---> ab38183c9bcb
Step / : WORKDIR /usr/herui/
---> Using cache
---> 24442df0587c
Step / : CMD sh hello_world.sh
---> Using cache
---> 9413de166e6f
Successfully built 9413de166e6f
Successfully tagged hello_world:1.01
这里要注意,打包指令需要在Dockerfile、hello_world.sh下进行,指令后面最后一个“.”,这叫上下文路径。
2、查看镜像文件列表,看看是否成功
[root@localhost herui]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello_world 1.01 9413de166e6f days ago .1MB
三、保存成tar.gz格式并检查当前目录下包是否存在
[root@localhost herui# docker save hello_world:1.01 | gzip > hello_world.tar.gz
[root@localhost herui]# ls -lh hello_*
-rw-r--r--. root root Aug : hello_world.sh
-rw-r--r--. root root 4.4M Sep : hello_world.tar.gz