使用 Docker 建置自己的開發環境,不想要寫 DockerFile,可以怎麼做呢?
使用 Docker 快速建置自己的開發環境
想要建置自己的開發環境,最快的方法就是開一台機器,然後在上面把自己想要的套件全部安裝完成,最後將這個環境存成一個新的 Image 即可。
之後要開啟這個開發環境,就跟開新的 Container 一樣的作法,可以隨意開啟,就很方便囉~
下述是使用 Debian Buster 為 Base Image,然後在上面快速簡易的安裝架設環境,然後將 Image 儲存下來。
- docker pull debian:buster
- docker run -itd debian:buster
- docker ps # get [container-id]
- docker exec -it [container-id] /bin/bash
- ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime # 設定 GMT+8
- apt update
- apt upgrade
- apt install php # install apache2 php
- exit # 離開,建議可以考慮先 apt clean 減少容量
- docker ps # get [container-id]
- docker commit [container-id] [username]/debian:buster-dev # username 請換成自己名字(也可隨意輸入),後面 debina:buster-dev 是自己取名的 Image Name:Tag
- docker images
- [username]/debian buster-dev [image-id] 2 minutes ago 295MB
- docker stop [container-id] # 把之前開來 build image (commit) 的那台關掉
- 在此就已經完成新的 Image
使用新的 Image 來開啟新的 Container
- docker run -itd [username]/debian:buster-dev # 跑剛剛完成的 新image (debian:buster-dev 是自己取名的)
- # 或 docker run -itd -p 80:80 -v /tmp/html:/var/www/html [username]/debian:buster-dev # 想要把 port 和 資料夾 mount 進去
- docker ps # get [new-conainer-id]
- docker exec -it [new-conainer-id] /bin/bash
- date # 確認是否為 GMT+8 的時間
- service apache2 start # 開啟 Apache 看外面是否能連到
更多 docker save、load、export、import 將 docker image 移植的作法,可以參考此篇:Docker 初學筆記 - 基本指令操作教學