docker命令易錯點整理

pause

docker pause能夠暫時中止容器,以釋放一部分CPU出來給其餘服務使用
docker unpause能夠解凍docker

docker stop vs kill

stop會首先嚐試正常結束容器(發送SIGTERM信號給容器中的程序),若是程序沒有響應的話,則強制結束容器(發送SIGKILL信號);
kill則會直接強制結束容器shell

參數簡寫

  • -d
    --detach,即後臺運行ubuntu

  • -i
    --interactive,讓容器以交互式模式運行tcp

  • -t
    --tty,即爲容器分配一個TTY終端url

  • -p
    --publish,即將容器中指定的端口暴露到外部主機,默認是tcp端口rest

數據卷備份

docker run --rm --volumes-from vol --v ${pwd}:/backup ubuntu tar zcvf /backup/data.tar.gz /data

加--rm表示結束時刪除容器,加上--volumes-from 則表示順便刪除數據卷
固然若是數據卷被其餘正在運行的容器使用,則不會被刪除code

在容器上製做鏡像

必須exit出來,而後再執行docker commit,不然修改不會帶到新鏡像dockerfile

Dockerfile指令

構建指令

  • FROMit

  • MAINTAINER容器

  • RUN
    指定shell命令

  • ADD
    拷貝後權限變爲0755,若是是可識別的壓縮格式,會自動解壓,能夠是遠程文件的url。

拷貝目錄的話,是拷貝目錄裏頭的文件,不包括目錄自己

  • COPY
    原樣拷貝,不支持遠程文件url

設置指令

  • CMD
    只能存在一個,多個的話,執行最後的那一個。對於指定的參數,能夠被run的時候傳遞的參數覆蓋

  • ENTRYPOINT
    不會被run指定的參數覆蓋

  • USER
    指定運行容器時的用戶名,默認是root帳戶

  • EXPOSE
    與--publish-all即-P配置使用,將dockerfile的全部暴露的端口,映射到主機的一樣的端口號

  • ENV

  • VOLUME
    與--volume相似,掛載數據卷

  • WORKDIR
    設置工做目錄,若是設置屢次,並且是相對路徑,則每次都是相對以前的來。

  • LABEL
    設置鏡像的元屬性

  • ONBUILD
    指定被其餘鏡像做爲基礎鏡像時運行的操做指令

run 指定env

--env VAR_NAME=VAR_VALUE

restart

--restart always確保服務出現任何問題而意外結束時,自動從新啓動。

相關文章
相關標籤/搜索