docker commit命令用於基於一個容器來創建一個新的docker鏡像。
docker commit制作的鏡像,除了制定鏡像的人知道執行過什么命令,怎么生成的鏡像,別人根本無從得知。建議使用的是Dockerfile來制作鏡像,鏡像的生成過程是透明的, docker commit可用於被入侵后保存現場等操作。
用法為: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
參數 | 默認值 | 作用 |
—author, -a | 作者信息 | |
—change, -c | 將Dockerfile指令應用於創建的映像 | |
—message, -m | 提交消息 | |
—pause, -p | true | 提交期間暫停容器 |
默認情況下,正在提交的容器及其進程將在映像提交時暫停。 這減少了在創建提交過程中遇到數據損壞的可能性。 如果不需要此行為,請將--pause
選項設置為false
。--change
選項將對創建的映像應用Dockerfile指令。支持Dockerfile指令:
CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR
docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a svendowideit/testimage:version4
save&load 【保存鏡像,並不是容器】
# save
docker save vell001/tf-keras > tf-keras.tar
# load
docker load < tf-keras.tar
export&import 【持久化容器】
docker export 33f6c8359187 > tf-keras-33f6c8359187.tar
docker import tf-keras-33f6c8359187.ta