1.描述
何爲docker?
Docker是一個開源的應用容器引擎,基於Go語言並遵從Apache2.0協議開源。
Docker可以讓開發者打包他們的應用以及依賴包到
一個輕量級、可移植的容器中,然後發佈到任何流行的Linux機器上,也可以實現虛擬化。
容器完全是沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。
Docker支持將軟件編譯成一個鏡像;然後在鏡像中各個軟件做好配置,將鏡像發佈出去,其他使用者可以直接使用這個鏡像。運行中的這個鏡像稱爲容器。容器啓動是非常快速的。類似windows裏面的ghost操作系統,安裝好了什麼都有了。
2.核心概念
docker鏡像(Images):是用於創建docker容器的核心模板。
docker容器(Container):是獨立運行的一個或一組應用。
docker客戶端(Client):通過命令行或者其他工具使用Docker API與docker的守護進程進行通信連接docker主機進行操作的
docker主機(Host):一個物理或者虛擬的機器用於執行Docker的守護進程和容器。直接安裝在操作系統上的docker,就能運行到docker的守護進程
docker倉庫(Registry):用來保存鏡像,可以理解爲代碼控制中的代碼倉庫,DockerHub提供了龐大的鏡像集合供使用。
首先要使用docker我們就要給我們的機器上安裝docker
3.使用docker步驟
1.安裝docker
- 要求CentOS版本高於3.10
可以使用uname -r
查看內核版本
如果不是需要使用yum update
來升級你的內核版本。 - 安裝docker
yum install docker
安裝成功
- 啓動docker
systemctl start docker
稍後docker未報錯,就啓動起來了
使用docker -v
查看docker的版本號
- 將docker服務設爲開機啓動
systemctl enable docker
開機啓動設置成功
- 停止dicker
systemctl stop docker
2.從docker倉庫上找到軟件對應的鏡像下載鏡像到本地主機
鏡像操作
操作 | 命令 | 說明 |
---|---|---|
檢索 | docker search 關鍵字 eg:docker search redis |
我們經常去docker hub上檢索鏡像的詳細信息,如鏡像的TAG |
拉取 | docker pull 鏡像名:tag |
:tag是可選的,tag表示標籤,多爲軟件的版本,默認爲latest |
列表 | docker images |
查看所有的本地鏡像 |
刪除 | docker rmi image-id |
刪除指定的本地鏡像 |
- 檢索
以MySQL爲例
docker search mysql
- 拉取(下載到host)
docker pull mysql:5.5
出現下面標識表示成功結束 - 查看主機裏的鏡像
docker images
- 通過鏡像查詢的到的唯一id刪除鏡像
docker rmi d404d78aa797
3.用docker命令運行鏡像得到容器
容器操作
容器就是正在運行的軟件
操作 | 命令 | 說明 |
---|---|---|
運行 | docker run --name 自定義名 -d 鏡像名 |
--name: 自定義容器名-d: 後臺運行鏡像名: 指定鏡像模板 |
列表 | docker ps |
查看運行中的容器 加上 -a 可以查看所有容器 |
停止 | docker stop 容器名或id |
停止當前你運行的容器 |
啓動 | docker start 容器名或id |
啓動容器 |
刪除 | docker rm 容器id |
刪除指定容器 |
端口映射 | -p 主機端口:容器內部端口 eg:docker run -d -p 8888:8080 --name mytomcat docker.io/tomcat |
-p主機端口映射到容器內部的端口 |
容器日誌 | docker logs 容器名或id |
|
更多命令 | 更多命令 |
容器的啓動的啓動停止就是對軟件的啓動和停止
- 運行容器
Linux刪除整行命令:
ctrl+u ctrl+k 分別代表光標處往前和光標處往後刪除;
ctrl+a ctrl+e 分別代表把管標移動到最前和最後
2. 啓動容器
失敗實例:演示使用停止和刪除容器
啓動容器後無法使用,應爲沒有做端口映射,需要停止容器,刪除重新運行
- 停止容器:
docker stop 容器id
- 刪除容器:
docker rm 容器id
- 使用日誌:
docker logs 容器id
成功實例:演示使用docker安裝MySQL
1)來到官網搜索鏡像
docker hub官網
參照官方文檔,查看正確的啓動
2)按照規範重新run容器
注意:這裏要進行端口映射,-p要寫在run後面不能寫在最後
docker run -p 3306:3306 --name mysql-docker -e MYSQL_ROOT_PASSWORD=123456 -d d404d78aa797
3)測試
4)自定義MySQL配置文件
以官方文檔爲準
本文爲學習筆記來源整理自網絡,如有侵犯留言聯繫。
以上內容如有爭議、指正,留言給我~