日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker实用指令整理

發布時間:2023/12/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker实用指令整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、docker幫助命令:

docker version --顯示版本的信息docker info --顯示系統及容器的信息docker --help --幫助命令

2、鏡像命令:

docker images --查看本機所有的鏡像命令可選項:--filter=STARS=3000 --過濾STARS大于3000的鏡像docker images --filter=stars=3000docker search 鏡像名 --從倉庫中搜索鏡像名docker pull 鏡像名:版本 --從倉庫中下載指定的鏡像版本docker rmi -f 鏡像名:版本或鏡像ID --刪除鏡像docker rmi -f $(docker images -aq) --刪除所有的鏡像docker images -qa --將所有的鏡像ID顯示出來docker ps -qa --將所有的容器ID顯示出來

3、容器命令:【先有鏡像,才有創建容器】

docker run [option]IMAGE[COMMAND][ARG...]說明:option,設置項;COMMAND 以什么命令形式啟動,鏡像一般都有,所以不用特殊指定。--option--name="name" 擬定一個容器名字-d 后臺運行,如果不加這個參數,docker容器啟動后不能退出[這里的退出指定的是:docker run 鏡像名的界面不能退出],否則就會終止;-it 使用交互方式運行,進入容器查看內容-p 指定容器端口 主機端口:容器端口(常用)-P 隨機端口--restart=always 開機自啟,如果不加這個參數,系統重啟后,運行的容器都會停止。例子:啟動并執行一個鏡像docker run --name="容器名" -it 鏡像名或鏡像ID /bin/bash[docker run -it 容器名 /bin/bash:該命令的-it是交互方式進行的,也就是能夠在宿主機跟容器中來回切換。如果不加,容器一運行就停止;/bin/bash:該命令是執行進入容器中。如果不可加這個,進入容器需要執行:docker exec/attach 容器名或容器ID才能進入容器/bin/bash ----是運行命令 如果不加這個,不能進入容器中]docker update 容器名/ID --restart=always 更新容器開機自啟[update不能更新端口映射,容器啟動的時候是在Linux的內網中,如果外網/公網需要訪問容器的服務,需要將公網的端口映射內網的容器端口中]注意:進入當前正在運行的容器【通常容器都是使用后臺方式運行的,有時需要進入容器,修改一些配置】docker exec -it 容器名或容器ID /bin/bashdocker attach 容器名或容器ID查看運行的容器命令:docker ps 查看所有正在運行的容器docker ps -a 查看所有歷史運行的容器docker ps -n=? 顯示最近運行過的幾個命令docker ps -qa 顯示容器所有的ID退出容器命令:exit:直接退出并停止ctrl+P+Q:退出容器不停止刪除容器:docker rm 容器ID或容器名 【不能刪除正在啟動的容器,如果要強制一個刪除一個容器,如果加-f】docker rm -f $(docker ps -aq) 遞歸刪除容器docker ps -aq | xargs docker rm 遞歸刪除容器停止容器:docker stop 容器名或容器ID 停止正在運行的容器docker kill 容器名或容器ID 殺死正在鏡像的容器進行docker start 容器名或容器ID 啟動一個容器查看容器內部的元素信息命令:docker inspect 例子:docker inspect 9252bd718b306d

4、查看docker日志命令:

docker logs 容器名docker logs --helpdocker logs -t -f --tail n 容器名或容器ID 顯示容器多少條日志,注意加了tail參數,必須要指定條數

5、查看容器內部的進程命令:

docker top 容器名或容器ID

6、commit[將正在運行的容器提交成一個新的鏡像]

語法:docker commit [options] CONTAINER [REPOSITY[:TAG]]docker commit 容器ID 提交一個容器作為新的鏡像例子:docker commit -a="FengYu" -m="add webapps app" 容器ID 鏡像名:版本參數說明:-a 是作者;-m是描述

7、卷掛載【本機目錄與容器內的目錄同步】

docker run -it -p 8081:8081 -p 8082:8082 -v /usr/local/tomcat/bin1:/usr/local/tomcat11/bin -v /usr/local/tomcat/webapps1:/usr/local/tomcat11/webapps/sguap-server -v /usr/local/tomcat/bin2:/usr/local/tomcat22/bin -v /usr/local/tomcat/webapps2:/usr/local/tomcat22/webapps:ro mytomcat-cx:1.0 /bin/bashro:表示容器內的目錄只能讀;rw:表示容器內的目錄可以讀寫。注意:卷掛載強調的是目錄與目錄的同步。不需要指定到目錄下的某一個文件,當然可以指定到某一個文件。卷掛載的容器不能作為鏡像提交。容器數據卷:容器跟容器同步--volumes-from子容器 --volumes-from 父容器docker run -it --name cs01 鏡像名:版本/鏡像IDdocker run -it --name cs02 --volumes-from cs01 鏡像名:版本/鏡像IDcs01跟cs02是容器

8、CMD跟ENTRYPOINT的區別:

CMD指定容器啟動時要運行的命令,只有最后一個有效,可被代替,指的是在追加命令的情況下ENTRYPOINT指定這個容器啟動的時候要進行運行的命令,可以追加。CMD ["ls","-a"]

指令篇:

1、刪除鏡像:

docker rmi 鏡像名 :版本號docker search 鏡像名下載鏡像docker pull 鏡像名發布鏡像docker push 鏡像名---下載及發布鏡像是針對鏡像倉庫而言的

2、刪除容器

docker rm 容器IDdocker rm -f 容器ID [強制刪除正在運行的容器]

3、運行容器

docker run [option] 鏡像名:版本號(容器ID)/bin/bashoption:--name:給容器取個名字-a:作者-d:后臺運行-p:暴露外網端口-P:隨機端口-v:掛載卷

4、給鏡像打標記

docker tag 作者/鏡像名:版本

5、進入容器

docker exec --會啟動一個新的容器docker attach --不會啟動一個新的容器CP拷貝命令:----------- docker cp 容器內的文件 宿主機指定目錄下;docker cp 宿主機指定目錄下 容器內的文件;如:docker /home/nginx.conf 58355eab288e:/etc/nginx/nginx.confdocker cp 容器ID:容器文件 宿主機目錄下cp是從容器內將文件拷貝到宿主機指定的目錄下;從宿主機將容器拷貝到容器內用卷命令。例子:將容器(ID58355eab288e)中一個test文件拷貝到宿主機上home目錄下docker cp 58355eab288e:/home/test /home

6、指定端口訪問地址

docker run -d -it --name tomcat -p 9000:8080 tomcat-jdk-imagesdocker stats 查看內存使用情況docker run -e 系統簡稱名_JAVA_OPTS=“-Xms64m -Xms512m”鏡像名【-e 參數是設置環境變量的】

7、用完就刪的鏡像指令

docker run -it --rm tomcat 【該命令一般用于測試】

8、將自己制作的鏡像打包

docker save -o 鏡像名.tar 鏡像名:標簽

9、將自己的鏡像導入系統中

docker load -i 鏡像名.tar

10、swarm

1、集群的管理和編號。docker可以初始化一個swarm,其他節點加入(工作者、管理者);2、Node就是一個docker節點,多個節點就組成可一個網絡集群。(管理、工作者)3、service任務,可以在管理節點或者工作節點來運行。核心!用戶訪問!4、task 容器內的命令,細節。------------docker swarm --helpdocker swarm init --初始化一個集群節點(主節點,后面的worker跟manager節點都是在其之下)docker swarm init --help 查看初始命令-----------------------------------------docker swarm init --advertise-add ip --初始化一個集群并添加IP(IP有公網跟私網,私網是對內的,不需要前,公網是對外的,需要錢)。通過改命令,可以獲取令牌,選擇需要添加的是worker還是manager節點。docker swarm join-token worker --向集群中添加一個工作節點(敲入該指令可以生成需要添加到集群的工作節點命令)docker swarm join-token manager --向集群中添加一個管理節點(敲入該指令可以生成需要添加到集群的管理節點命令)-------------------------------------------docker swarm leave --將管理節點或工作節點脫離集群docker swarm update --更新一個集群-------------------------------------------docker node ls --查看節點信息

11、Raft協議

雙主雙從節點:manager and workerRaft協議:保證大多數節點存活才可以用。普通的manager至少>1臺,集群至少3臺。

12、systemctl stop docker 停止docker容器

13、docker service --help

create --創建一個新的服務docker service create --help --查看幫助docker service create -p 8080:80 --name my-nginx nginx --這里的nginx是鏡像inspect --展示服務的詳細信息 docker service inspect my-nginxlogs --查看服務或副本的日志docker logs 容器名/容器ID [查看容器運行錯誤日志]ls --展示服務列表docker service ls --查看服務列表ps --展示一個或多個服務的副本狀態docker service ps my-nginx --查看副本列表rm --移除一個或多個服務rollback --取消服務配置,還原初始設置scale --擴縮一個或多個副本服務docker service scale --help --查看幫助docker service scale my-nginx=5 動態擴展5個副本update --更新一個服務docker service update --help --查看幫助docker service update --replicas 3 my-nginx調整service以什么方式運行:--mode replicated docker service create --mode replicated --name mytom tomcat:7 -- 默認的,在副本節點運行--mode globaldocker service create --mode global--name mytom tomcat:7 --全局的,在任何節點都可以運行

14、灰度發布:平滑升級項目,不用中斷項目,停止服務。

docker run 容器啟動!不具有擴縮容器docker service 服務!具有擴縮容器,滾動更新!命令->管理->api->調度->工作節點 (創建task容器、維護創建!)kubectl service api--wordpress 博客

15、docker stack --集群啟動

docker compose --單機啟動----docker secret --安全docker config --配置

16、Linux 、docker、k8s(適合10臺以上的服務器)

Go語言(由B語言、C語言、unix跟谷歌V8引擎組合而成)---------Docker、K8S、Etcd(存儲)是Go開發的。

總結

以上是生活随笔為你收集整理的Docker实用指令整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。