Docker打包鏡像及修改配置的實現
最近在學習Docker和實際操作中遇到瞭不少問題,寫篇博客記錄一下。
安裝
我安裝的是windows版的docker desktop,在windows上用docker挺麻煩的,要配置一些東西,在windows上安裝docker desktop。
安裝完成後,以管理員身份運行一般都能跑起來,如果遇到 Docker Access Denied 報錯打不開的情況,需要把計算機當前用戶加入到docker-users用戶組裡面。
打開命令行工具輸入下面命令檢驗docker是否安裝成功:
甚至可以跑個hello-world:
打包鏡像
我們都知道打包命令是 docker build ,除此之外,還需要一個 Dockerfile 文件,命令行打包就不介紹瞭,分享一個vscode插件,就叫Docker!
安裝好瞭後側邊欄會多一個小鯨魚,我們可以看到容器的狀態和鏡像,前提是docker desktop成功安裝瞭。
然後在我們的 Dockerfile 文件上右鍵,點擊 build image ,會提示你輸入一個鏡像的名稱,然後回車就ok瞭。
運行容器並添加環境變量
有時項目正常運行需要依賴一些環境變量,我們可以通過 -e 指令添加:
docker run -p 4000:4000 -e env1=xxxx -e env2=yyyy ImageID
運行容器並自定義容器名稱
我們運行兩次 hello-world 後打開 docker desktop,可以發現每次運行的容器名稱貌似是隨機分配的
我們可以使用 –name 指定容器的名稱:
docker run --name hello hello-world
運行結果:
Docker 修改 host
使用docker run運行一個新的容器的時候,通過參數 –add-host 來添加域名和IP信息到容器的/etc/hosts文件中:
docker run -p 8080:8080 --add-host=hostname:127.0.0.1 ImageID
導出鏡像到本地
當我們開發把項目打包好鏡像後,可能需要給運維或後端人員進行部署測試,可以使用 save -o 命令把鏡像導出:
docker save -o .\保存的路徑\鏡像文件名 鏡像 比如: dicker save -o .\Desktop\hello.tar hello-world
個人覺得使用 docker hub 會更方便!
到此這篇關於Docker打包鏡像及修改配置的實現的文章就介紹到這瞭,更多相關Docker打包鏡像及配置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 淺談Docker如何自定義host文件
- docker 容器自定義 hosts 網絡訪問操作
- 雲原生Docker容器自定義DNS解析
- 解決docker容器重啟之後/etc下某些配置文件被重置的問題
- 一篇文章弄懂Docker鏡像的制作、上傳、拉取和部署