docker常用命令


幫助命令

docker version

docker info

docker --help

 

鏡像命令

#列出本地鏡像
docker images [OPTIONS]

-a:列出本地所有的鏡像(包含中間映像層)
-q:只顯示鏡像id
--digests:顯示鏡像的摘要信息
--no-trunc:顯示完整的鏡像信息

#去dockerHub(https://hub.docker.com/)搜索鏡像
docker search [OPTIONS] {imageName}

#拉取鏡像 

docker pull {imageName}:{tag}

#刪除一個鏡像

docker rmi -f {imageName}

#刪除多個鏡像

docker rmi -f {imageName1} {imageName2}

#刪除全部鏡像

docker rmi -f $(docker images -qa)

docker build -f {dockerFilePath} -t {newImageName}:{tag}

docker commit -m="Comment" -a="autherName" {containerId} {namespace}/{targetImageName}:{tag}

docker push

#查看鏡像歷史

 docker history {imageName}

 

容器命令

#新建並啟動容器
docker run [OPTIONS] {imageName或imageId} [COMMAND] [ARG...]

--name:別名

--i:以交互模式運行容器,通常與-t同時使用

--t:為容器重新分配一個偽輸入終端,通常與-i同時使用

-d:后台運行容器,並返回容器id

-P:隨機端口映射

-p:指定端口映射

docker run --it  -p {主機端口}:{容器端口} {imageName或imageId}

啟動docker中的tomcat后,訪問報錯404,原因是tomcat中默認的webapps目錄是空的,所需文件在webapps.dist目錄下,需要重命名目錄

 

#創建容器卷

docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory} {imageName}

#創建只讀的容器卷(只有宿主機能正常讀寫,容器只能讀)

docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory}:ro {imageName}

#列出當前所有正在運行的容器

docker ps [OPTIONS]

-a:列出當前所有正在運行以及歷史上運行過的容器

-l:顯示最近創建的容器

-n:顯示最近n個創建的容器

-q:靜默模式,只顯示容器id

--no-trunc:不截斷輸出

#停止容器方式退出容器

exit

#不停止容器方式退出

ctrl+p+q

#啟動容器

docker start {containerId或containerName}

#重啟容器

docker restart {containerId或containerName}

#正常停止容器

docker stop {containerId或containerName}

#強制關閉容器

docker kill {containerId或containerName}

#刪除已停止的容器

docker rm {containerId或containerName}

#強制刪除容器,即使容器正在運行

docker rm  -f {containerId或containerName}

#一次性刪除多個容器

docker rm -f $(docker ps -aq)

docker ps -aq | xargs docker rm

#查看容器的日志

docker logs [OPTIONS] {containerId或containerName}

-t:顯示時間戳

-n:最后n行

#查看容器內運行的進程

docker top {containerId或containerName}

#查看容器內的細節

docker inspect {containerId或containerName}

#在宿主機中執行容器的命令

docker exec -it {containerId或containerName} {bashShell}

#進入容器,再執行命令,有時候執行該命令會卡住,不推薦使用

docker attach {containerId或containerName}

#拷貝容器內的文件到宿主機

docker cp {containerId或containerName}:{containerPath} {localPath}

 

DockerFile保留字指令

FORM:基礎鏡像

MAINTAINER:鏡像維護者的姓名和郵箱

RUN:容器構建時需要運行的命令

EXPOSE:容器對外暴露的端口

WORKDIR:指定創建容器后,終端默認進入的工作目錄

ENV:構建鏡像過程中設置環境變量

ADD:將宿主機目錄下的文件拷貝進鏡像且自動處理url和解壓tar壓縮包

COPY:將宿主機目錄下的文件拷貝進鏡像,COPY src dest,COPY ["src", "dest"]

VOLUME:容器數據卷,用於保存數據和持久化

CMD:指定一個容器啟動時要運行的命令,DockerFile中可以有多個CMD命令,但只有最后一個生效,CMD會被docker run之后的參數替換

ENTRYPOINT:指定一個容器啟動時要運行的命令,docker run之后的命令會追加,而不是替換

ONBUILD:假設son鏡像繼承自father鏡像且father鏡像的DockerFile中有ONBUILD {bashShell},當構建son鏡像的DockerFile時,會執行{bashShell}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM