網站首頁 編程語言 正文
目錄
一、百度百科
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴到一個可移植的鏡像中,然后發布到任何流行的Linux或Windows機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
一個完成的docker有以下幾個部分組成:
- DockerClient 客戶端
- Docker Daemon 守護進程
- Docker Image 鏡像
- Docker Container 容器
二、Docker安裝
1、卸載Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、需要的安裝包
yum install -y yum-utils
3、設置鏡像倉庫
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
用國內的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo?
更新軟件包索引
yum mackecache fast
4、安裝Docker相關?
ce社區版,ee企業版,推薦安裝企業版
yum install docker-ce docker-ce-cli containerd.io
5、啟動Docker
systemctl start docker
6、使用docker version查看版本
7、啟動hello world鏡像
docker run hello-world
8、卸載
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
三、run的流程和docker原理
1、run的流程
2、docker原理?
3、docker為何比VM快?
- Docker有著比虛擬機更少的抽象層
- docker利用的是宿主機的內核,VM需要的是Guest OS。
四、Docker鏡像常用命令
1、基本命令
docker version
docker info
docker 命令 --help #萬能命令
docker images
解釋:
- REPOSITORY:鏡像的倉庫源
- TAG:鏡像的標簽
- IMAGE ID:鏡像的ID
- CREATE:鏡像的創建時間
- ?SIZE:鏡像的大小
可選項
-a:列出全部的鏡像
-q:只顯示鏡像的ID
2、搜索鏡像
docker search
可選項
--filter-STATUS-3000 #搜索大于3000的
3、下載鏡像
指定版本下載
docker pull 鏡像名[:tag]
4、刪除鏡像
docker rmi -f 鏡像id?
五、docker容器常用命令
1、下載容器
docker pull centos
2、docker run [可選參數] image
參數說明:
- --name? ? 容器名稱
- -d? ? ? ? ? ? ?后臺方式運行
- -it? ? ? ? ? ? ?使用交互方式運行,進入容器查看內容(例如:docker run -it centos /bin/bash)
- -p? ? ? ? ? ? ?指定容器的端口號 -p 8080:8080(主機端口:容器端口)
3、列出所有的運行的容器
docker ps [參數]
- -a? ? ? ? ? ? ? ?列出當前正在運行的容器
- -n? ? ? ? ? ? ? ?顯示最近創建的容器
- -q? ? ? ? ? ? ? ?只顯示容器的編號
例如:docker ps -aq? ? ? 顯示當前正在運行的容器的編號
4、退出容器
exit
5、刪除容器
- docker rm 容器id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不能刪除正在運行的容器
- docker rm -f $(docker ps -a)? ? ? ? ? ? ?刪除所有的容器
- docker ps -a -q|xargs docker rm? ? ? ?刪除所有的容器
6、啟動和停止容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id
- docker kill 容器id? ? ? ? ?強制停止
7、進入當前正在運行的容器
方式一:docker exec -it 容器id /bin/bash? ? ?進入容器后開啟一個新的終端(常用)
方式二:docker attach 容器id? ? ? ? ? ? ? ? ? ? ? ?進入容器當前正在執行的終端
8、從容器內拷貝文件到主機
docker cp 容器id:容器內路徑 主機路徑
例如:docker cp 容器id:/home/test.java /home
9、其它常用命令
(1)后臺啟動容器 -d
(2)查看日志命令
docker logs --help
顯示指定行數的日志:
docker logs -tf --tail 10 容器id
-f:內容,,,-t:時間
例如:循環執行
docker run -d centos /bin/sh -c "while;do echo hello world;sleep 1;done"
(3)顯示容器中的進行信息
查看docker內部的進程信息:docker top 容器id
(4)查看容器的元數據
docker inspect --help
顯示容器的所有信息:
docker inspect 容器id
六、docker常用命令小結
常用命令 | 命令含義 |
attach | 當前shell下attach連接指定運行鏡像 |
build | 通過Dockerfile定制鏡像 |
commit | 提交當前容器為新的鏡像 |
cp | 從容器中拷貝指定文件或者目錄到宿主機中 |
create | 創建一個新的容器,同run 但不啟動容器 |
diff | 查看docker容器變化 |
events | 從docker服務獲取容器實時事件 |
exec | 在已存在的容器上運行命令 |
export | 導出容器的內容流作為一個tar歸檔文件(對應import) |
history | 展示一個鏡像形成歷史 |
images | 列出系統當前鏡像 |
import | 從tar包中的內容創建一個新的文件系統映像(對應export) |
info | 顯示系統相關信息 |
inspect | 查看容器詳細信息 |
kill | 強制停止指定docker容器 |
load | 從一個tar包中加載一個鏡像(對應save) |
login | 注冊或者登陸一個docker源服務器 |
logout | 從當前Docker registry退出 |
logs | 輸出當前容器日志信息 |
pause | 暫停容器 |
port | 查看映射端口對應的容器內部源端口 |
ps | 列出容器列表 |
pull | 從docker鏡像源服務器拉取指定鏡像或者庫鏡像 |
push | 推送指定鏡像或者庫鏡像至docker源服務器 |
rename | 重命名容器 |
restart | 重啟運行的容器 |
rm | 移除一個或者多個容器 |
rmi | 移除一個或多個鏡像(無容器使用該鏡像才可以刪除,否則需要刪除相關容器才可以繼續或者-f強制刪除) |
run | 創建一個新的容器并運行一個命令 |
save | 保存一個鏡像為一個tar包(對應load) |
search | 在docker hub中搜索鏡像 |
start | 啟動容器 |
stats | 統計容器使用資源 |
stop | 停止容器 |
tag | 給源中鏡像打標簽 |
top | 查看容器中運行的進程信息 |
unpause | 取消暫停容器 |
version | 查看容器版本號 |
wait | 截取容器停止時的退出狀態值 |
掃碼加入技術交流群,獲取Java思維導圖
關注微信公眾號,回復1024,獲取Java思維導圖
?
原文鏈接:https://blog.csdn.net/guorui_java/article/details/115874500
相關推薦
- 2022-05-25 @NoArgsConstructor、@AllArgsConstructor、@RequiredAr
- 2024-01-12 間隙鎖(Gap Lock)
- 2022-10-25 Python繪制loss曲線和準確率曲線實例代碼_python
- 2022-01-18 npm ERR! code ENOENT npm ERR! syscall open npm ERR
- 2022-03-17 結合示例說明shell是如何被解析的_linux shell
- 2022-05-31 postman批量執行接口測試的圖文步驟_其它綜合
- 2023-11-25 優化計算屬性mapState、mapGetters和methods的mapActions、mapMu
- 2022-04-25 C#使用NPOI導出Excel類封裝_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支