3.2. 脚本

3.2.1. 创建测试镜像根文件系统脚本

  1. # cocker_install_test.sh

注意:应与cocker指令-a install_test配合使用。

3.2.2. 创建操作系统基础镜像脚本

注意:必须可正常使用yum为前提。
注意:如需增删软件可修改supermin5 -v --prepare后的软件列表。

  1. # cocker_create_image_rhel-7.4-x86_64.sh
  2. ...
  3. # ls -l calvin=rhel-7.4-x86_64:1.0.0.cockerimage
  4. -rw-r--r-- 1 root root 91781857 Nov 25 09:03 calvin=rhel-7.4-x86_64:1.0.0.cockerimage

执行后输入名字和版本号,自动生成可导入的镜像打包文件,文件名格式为(作者)=(rhel-7.4-x86_64):(版本号).cockerimage

  1. # cocker -a import --image-file calvin=rhel-7.4-x86_64:1.0.0.cockerimage
  2. OK
  3. # cocker -s images
  4. image_id version modify_datetime size
  5. --------------------------------------------------------------------
  6. calvin=rhel-7.4-x86_64 1.0.0 2018-11-25T09:03:48 228 MB

3.2.3. 创建sshd镜像脚本

此为创建sshd镜像层镜像打包文件。

  1. # cocker_create_image_rhel-7.4-sshd-x86_64.sh

注意:后面章节通过交互式构建可达到更小更干净的镜像。

3.2.4. 创建gcc镜像脚本

此为创建gcc镜像层镜像打包文件。

  1. # cocker_create_image_rhel-7.4-gcc-x86_64.sh

注意:后面章节通过交互式构建可达到更小更干净的镜像。

3.2.5. 设置容器根目录环境变量

  1. # . cocker_container_root.sh test
  2. $ echo $COCKER_CONTAINER_ROOT
  3. /var/cocker/containers/test/merged
  4. # ls -l $COCKER_CONTAINER_ROOT
  5. total 20
  6. drwxr-xr-x. 2 root root 4096 Nov 22 08:26 bin
  7. -rwxr-xr-x. 1 root root 2634 Nov 22 08:43 cocker.log
  8. -rwxr-xr-x. 1 root root 4848 Nov 22 08:46 cockerinit.log
  9. drwxr-xr-x. 1 root root 25 Nov 22 08:43 dev
  10. drwxr-xr-x. 1 root root 6 Nov 22 08:26 etc
  11. drwxr-xr-x. 2 root root 6 Nov 22 08:26 lib
  12. drwxr-xr-x. 2 root root 4096 Nov 22 08:26 lib64
  13. drwxr-xr-x. 3 root root 19 Nov 22 08:26 mnt
  14. dr-xr-xr-x. 197 root root 0 Nov 22 08:43 proc
  15. drwxr-xr-x. 1 root root 42 Nov 22 08:46 root
  16. drwxr-xr-x. 2 root root 61 Nov 22 08:26 sbin
  17. drwxr-xr-x. 2 root root 6 Nov 22 08:26 tmp
  18. drwxr-xr-x. 3 root root 19 Nov 22 08:26 usr
  19. drwxr-xr-x. 2 root root 6 Nov 22 08:26 var

注意:此脚本调用了指令-s container_root
注意:外露容器根目录可能不太合适。