客製、套用 devilbox image
找到了 devilbox 這個跨足許多版本的 LAMP stack ,它少了一些老程式沒有的 pear package ,雖然之前裝裝老程式已經解決了安裝問題,如果不小心 docker-compose down 就一(打)言(回)難(原)盡(形)了…
工作環境:
Ubuntu Server 22 LTS
docker
devilbox LAMP stack
要做的事情大致上就是,先把套件裝一裝,然後把裝好套件的這個 image commit,給 commit 之後的 image 命名,之後指名套用新的 image
Commit, Save, and Restore,套用、儲存、回存指令# 由於 docker-compose down; docker-compose rm -f 之後所做的變動都會重置
# 以 devilbox 的 php-fpm-5.5 為基礎,進入容器中加裝 PEAR 套件,
# 目標容器 devilbox_php_1
# install PEAR package and commit new docker image
# 把更動過的容器做成新的 image
docker commit -a "yourOrgName.org" -m "php-fpm-5.5-noteOfChange" devilbox_php_1 php-fpm-5.5-pear:5.5pAsTagName
# 備份:把新的 image 存一個備份到 tar 檔案中
docker image save -o images.tar php-fpm-5.5-pear:5.5pAsTagName [image2 ...]
# 回復:從備份的 tar 檔案中建立新的容器
docker image load -i images.tar
停止 docker:
docker-compose down; docker-compose rm -f;
套用新的 image:
devilbox 不去動 docker-compose.yml 用的是 docker-compose.orverwrite.yml
# docker-compose.overwrite.yml
# 基本上就是把 docker-compose.yml 裏面,你使用的容器的那一段複製下來,把你要改的部份改好留下來,其他的內容都殺掉
---
version: '2.3'
# The following override shows an example for the cockroachdb
services:
php:
image: php-fpm-5.5-pear:5.5pAsTagName
測試: docker-compose up -d
裝的套件還在,程式還能動!
收工!
留言
張貼留言