สรุปคำสั่ง docker ฉบับสายย่อ เด็กแนว
เอาที่สำคัญๆ หากินได้ยาวๆ
.
1) คำสั่งดูเลขเวอร์ชั่น docker engine ในเครื่อง
docker -v
.
2) คำสั่งล็อกอินเข้าไปใน docker hub (ที่เก็บไฟล์ image ของ docker)
docker login [OPTIONS] [SERVER]
.
3) คำสั่ง logout ออกจาก docker hub ...บาย บาย
docker logout
.
4) คำสั่งค้นหาไฟล์ image จาก docker hub
docker search
.
5) คำสั่งดาวน์โหลดไฟล์ image จาก docker hub มาที่เครื่องเรา
docker pull
.
6) คำสั่งรันไฟล์ image -> เพื่อสร้าง container (สร้างกี่ตัวก็ได้)
docker run [options]
.
7) คำสั่งดูรายชื่อไฟล์ images ที่อยู่ในเครื่องเรา
docker images
docker images --no-trunc // แสดง Images ID แบบเต็มๆ
.
😎 คำสั่งลบไฟล์ images
docker rmi
docker rmi -f
docker rmi -f $(docker images -a -q) // ลบทั้งหมด
.
9) คำสั่งดูรายชื่อ container
docker ps // แสดง container ที่ทำงานอยู่
docker ps -a // แสดงรายการ container ทั้งหมดที่ทำงานอยู่และหยุดทำงานไปแล้ว
.
10) คำสั่งลบ container
docker rm
docker rm -f
docker rm $(docker ps -a -q) // ลบทั้งหมด
docker rm $( docker ps -q -f status=exited) // ลบ continer ทั้งหมดที่ไม่ทำงาน
.
11) คำสั่งสั่งให้ container ทำงาน (สตาร์ท)
docker start
.
12) คำสั่งหยุด container (กลับมาสตาร์ทใหม่ภายหลังได้)
docker stop
docker stop $(docker ps -a -q) // หยุดการทำงาน container ทั้งหมด
.
13) คำสั่งแช่แข็ง container
docker pause
docker unpause
.
14) คำสั่งรีโมทเข้าไปใน container แล้วรันคำสั่ง เช่น รัน bash shell ของ linux เป็นต้น
docker exec -it
.
14) คำสั่งดูข้อมูลของ container
docker inspect
.
15) คำสั่งดูการใช้ทรัพยกรเครื่องของ container
docker stats // ทั้งหมด
docker stats
.
16) คำสั่งดู logs ของ container
docker logs
.
16) คำสั่งคำสั่งสร้างไฟล์ image
docker build [OPTIONS] PATH | URL | -
.
17) คำสั่ง commit ไฟล์ image ที่เราสร้าง
docker commit
.
18) คำสั่งส่่งไฟล์ image ขึ้น docker hub
docker image push [OPTIONS] NAME[:TAG]
.
++++++++++++++++++++
อธิบายเพิ่ม docker
++++++++++++++++++++
docker มันคือ container
ถ้าจะเรียกให้ถูกต้องเป๊ะๆ ก็คือ software container
.
จะคล้ายๆ Virtual Machine (VM)
แต่เบากว่า
Overhead น้อยกว่า
รันได้เร็วกว่า
.
container มันเป็นคอนเซปต์การสร้างสภาพแวดล้อมเฉพาะให้กับซอฟต์แวร์ เพื่อให้สามารถทำงานได้โดยไม่กวนกับซอฟต์แวร์ตัวอื่นบนระบบปฏิบัติการเดียวกัน
.
เช่น เครื่องลง PHP กับ Apache HTTP ไว้
คราวนี้พอจะรัน Tomcat แล้ว port มันชนกัน
เกิดอุบัติเหตุแบบนี้ ทำไงดีหว้า?
ต้องร้องเรียนตำรวจเลยไหม?
...ก็ไม่ต้อง
สามารถใช้ container เป็นอีกหนึ่งวิธีแก้ปัญหา
.
สำหรับคอนเซปต์ container
ให้นึกถึงว่าเรามีตู้ container ใส่ของ จำนวน 2 ตู้
ทั้งสองตู้ข้างในมีสภาพแวดล้อมเป็น Linux
.
- โดย container ตู้แรก จะติดตั้ง PHP กับ Apache HTTP ลงไป
- container ตู้ตัวที่สอง จะติดตั้ง Tomcat ลงไป
.
โดยทั้งสองตู้สามารถวางไว้ภายในระบบปฏิบัติการเดียวกัน
สามารถรันทำงานแยกสภาพแวดล้อมจากกันไปเลย
ไม่ชน ไม่ทะเลาะตบตีแย่งแฟนกัน
.....เฮยๆ ไม่ใช่ายแหละ ไม่แย่ง resource กัน
.
และเราก็สามารถย้ายตู้ container ที่มีซอฟต์แวร์ที่เราได้ติดตั้งลงไปนั้น
ก็สามารถย้ายตู้ไปไว้ที่เครื่องไหนก็ได้
ขอให้เครื่องนั้นๆ ติดตั้ง docker engine ก็พอ
(นำไฟล์ image ของ docker ไปรันบนเครื่องไหนก็ได้ขอให้มี docker engine)
.
.
.
อ้างอิง
- https://sites.google.com/.../chanwit/blogs/what-is-container
-http://www.siamhtml.com/getting-started-with-docker/
-https://medium.com/quintuples/รวม-docker-command-line-พื้นฐาน-74b61101effa
-https://memo8.com/docker-command/
.
.
.
✍ เรียบเรียงโดย โปรแกรมเมอร์ไทย thai programmer
.
.
.
มีปัญหาด้านไอทีให้ไปที่ลิงก์นี้
https://github.com/adminho/Thai-IT-community
จะมีกลุ่มเฟสบุ๊คต่างๆ รอคุณอยู่
สนใจกลุ่มไหนก็เข้าไปแจม
สามารถโพสต์ถามปัญหาที่สงสัยได้
จะมีเพื่อนๆ น่ารักคอยตอบเสมอ
同時也有1部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,? เทคนิคต่าง ๆ ที่ใช้ในคลิป 02:22 เข้าใจ instructions และ arguments ที่สำคัญที่อยู่ใน Dockerfile 08:44 การใช้ docker build 20:20 การ push image ที่สร้...
「docker build image」的推薦目錄:
docker build image 在 矽谷牛的耕田筆記 Facebook 八卦
#kubernetes1.20 #docker-bye
隨著 kubernetes 1.20 相關消息愈來愈多,目前一個引起廣泛討論的就是 docker support 將被標示為棄用,並且於未來版本的中將正式移除。
到底這個未來的改變對於開發以及維運人員來說,到底會有什麼樣的衝擊,這邊就來跟大家分享一下我的看法
# 開發人員
Q1: 我需要重新學習新的工具嗎? 能不能繼續使用 Docker?
A1: 大部分情況下,你不需要重新學習任何工具,可以繼續使用 Docker 作為本地開發,你產生的 Image 依然可以讓 Kubernetes 去運行。
Q2: Kubernetes 一旦不支援 Docker,那我的 Image 還可以放 Docker Hub 嗎?
A2: 這個沒有問題,因為目前的 Container Registry 都基於 OCI 標準來設計,因此格式相容的情況下, Kubernetes 是可以繼續使用 Docker Hub 上的 image.
Q3: 我的開發環境是 Mac,使用的是 Docker for Desktop 並且用 Docker 內建的 Kubernetes 來開發,請問我會被影響嗎
A3: 這個開發環境比較特別,可以讓 docker build 產生的 image 直接給 kubernetes 使用。一旦 Kubernetes 底下使用別套,也許這條路徑會出問題。 因此這個問題值得關注。
# 維運人員
Q1: 我的公有雲 Kubernetes 服務會被影響嗎?
A1: 三大公有雲目前都有提供除了 Docker 以外的解決方案,可以參閱相關文件來切換。
如果已經使用 containerd/cri-o 這些解決方案的話,基本上什麼都不用做。
但是如果本來使用的是 docker 的話,那就要注意一下你的服務提供者有沒有提供轉移方式。
Q2: 自架 Kubernetes 會被影響嗎
A2: 這取決於你的使用方案,譬如你使用 Rancher 的話,預設是使用 Docker,因此勢必未來一定會有一波轉移問題要處理。
另外如果 Kubernetes 節點是由自己處理的,那要注意需要自行安裝其他的 Container Runtime。單純只有安裝 docker.io 是不夠。
Q3: 維運上會有什麼改變?
A3: 未來若 k8s 不再支持 docker,勢必你將不能於節點上使用 docker 這個指令來觀察相關的運行資訊。這部分可能需要改用 ctr 或是 crictl 等不同的 CLI 工具來觀察。
全新的工具,全新的用法勢必需要學習
Q4: 這樣切換有什麼好處?
A4: 不論是切換到 Containerd 或是 CRI-O ,效能上會提升,與資源消耗會下降,整個容器處理流程也會變得更加精銳
# 結論
1. Kubernetes 不是 Docker 管理平台,是容器管理平台。定義 CRI 標準就是為了支援多種容器技術。
2. Docker 被移除是可以考慮的,未來我認為 CRI-O 都有可能變成預設解決方案,因為其本身的設計就是為了 K8s 而最佳化,同時也與 Kubernetes 版本對齊,
3. 1.20 只是警告,將要退役,並不代表完全移除。但是不久的將來就會正式移除。
4. 如果有時間,就提早進行準備,永遠都不要到最後一刻才決定處理。大量仰賴 Open Source 的情況下,每個專案的開發能量也都很重要,一個不再維護的專案用起來會很令人提心跳膽。
docker build image 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 八卦
สรุปคำสั่ง docker ฉบับสายย่อ เด็กแนว
เอาที่สำคัญๆ หากินได้ยาวๆ
.
1) คำสั่งดูเลขเวอร์ชั่น docker engine ในเครื่อง
docker -v
.
2) คำสั่งล็อกอินเข้าไปใน docker hub (ที่เก็บไฟล์ image ของ docker)
docker login [OPTIONS] [SERVER]
.
3) คำสั่ง logout ออกจาก docker hub ...บาย บาย
docker logout
.
4) คำสั่งค้นหาไฟล์ image จาก docker hub
docker search
.
5) คำสั่งดาวน์โหลดไฟล์ image จาก docker hub มาที่เครื่องเรา
docker pull
.
6) คำสั่งรันไฟล์ image -> เพื่อสร้าง container (สร้างกี่ตัวก็ได้)
docker run [options]
.
7) คำสั่งดูรายชื่อไฟล์ images ที่อยู่ในเครื่องเรา
docker images
docker images --no-trunc // แสดง Images ID แบบเต็มๆ
.
8) คำสั่งลบไฟล์ images
docker rmi
docker rmi -f
docker rmi -f $(docker images -a -q) // ลบทั้งหมด
.
9) คำสั่งดูรายชื่อ container
docker ps // แสดง container ที่ทำงานอยู่
docker ps -a // แสดงรายการ container ทั้งหมดที่ทำงานอยู่และหยุดทำงานไปแล้ว
.
10) คำสั่งลบ container
docker rm
docker rm -f
docker rm $(docker ps -a -q) // ลบทั้งหมด
docker rm $( docker ps -q -f status=exited) // ลบ continer ทั้งหมดที่ไม่ทำงาน
.
11) คำสั่งสั่งให้ container ทำงาน (สตาร์ท)
docker start
.
12) คำสั่งหยุด container (กลับมาสตาร์ทใหม่ภายหลังได้)
docker stop
docker stop $(docker ps -a -q) // หยุดการทำงาน container ทั้งหมด
.
13) คำสั่งแช่แข็ง container
docker pause
docker unpause
.
14) คำสั่งรีโมทเข้าไปใน container แล้วรันคำสั่ง เช่น รัน bash shell ของ linux เป็นต้น
docker exec -it
.
14) คำสั่งดูข้อมูลของ container
docker inspect
.
15) คำสั่งดูการใช้ทรัพยกรเครื่องของ container
docker stats // ทั้งหมด
docker stats
.
16) คำสั่งดู logs ของ container
docker logs
.
16) คำสั่งคำสั่งสร้างไฟล์ image
docker build [OPTIONS] PATH | URL | -
.
17) คำสั่ง commit ไฟล์ image ที่เราสร้าง
docker commit
.
18) คำสั่งส่่งไฟล์ image ขึ้น docker hub
docker image push [OPTIONS] NAME[:TAG]
.
++++++++++++++++++++
อธิบายเพิ่ม docker
++++++++++++++++++++
docker มันคือ container
ถ้าจะเรียกให้ถูกต้องเป๊ะๆ ก็คือ software container
.
จะคล้ายๆ Virtual Machine (VM)
แต่เบากว่า
Overhead น้อยกว่า
รันได้เร็วกว่า
.
container มันเป็นคอนเซปต์การสร้างสภาพแวดล้อมเฉพาะให้กับซอฟต์แวร์ เพื่อให้สามารถทำงานได้โดยไม่กวนกับซอฟต์แวร์ตัวอื่นบนระบบปฏิบัติการเดียวกัน
.
เช่น เครื่องลง PHP กับ Apache HTTP ไว้
คราวนี้พอจะรัน Tomcat แล้ว port มันชนกัน
เกิดอุบัติเหตุแบบนี้ ทำไงดีหว้า?
ต้องร้องเรียนตำรวจเลยไหม?
...ก็ไม่ต้อง
สามารถใช้ container เป็นอีกหนึ่งวิธีแก้ปัญหา
.
สำหรับคอนเซปต์ container
ให้นึกถึงว่าเรามีตู้ container ใส่ของ จำนวน 2 ตู้
ทั้งสองตู้ข้างในมีสภาพแวดล้อมเป็น Linux
.
- โดย container ตู้แรก จะติดตั้ง PHP กับ Apache HTTP ลงไป
- container ตู้ตัวที่สอง จะติดตั้ง Tomcat ลงไป
.
โดยทั้งสองตู้สามารถวางไว้ภายในระบบปฏิบัติการเดียวกัน
สามารถรันทำงานแยกสภาพแวดล้อมจากกันไปเลย
ไม่ชน ไม่ทะเลาะตบตีแย่งแฟนกัน
.....เฮยๆ ไม่ใช่ายแหละ ไม่แย่ง resource กัน
.
และเราก็สามารถย้ายตู้ container ที่มีซอฟต์แวร์ที่เราได้ติดตั้งลงไปนั้น
ก็สามารถย้ายตู้ไปไว้ที่เครื่องไหนก็ได้
ขอให้เครื่องนั้นๆ ติดตั้ง docker engine ก็พอ
(นำไฟล์ image ของ docker ไปรันบนเครื่องไหนก็ได้ขอให้มี docker engine)
.
.
.
อ้างอิง
- https://sites.google.com/site/chanwit/blogs/what-is-container
-http://www.siamhtml.com/getting-started-with-docker/
-https://medium.com/quintuples/รวม-docker-command-line-พื้นฐาน-74b61101effa
-https://memo8.com/docker-command/
.
.
.
✍ เรียบเรียงโดย โปรแกรมเมอร์ไทย thai programmer
docker build image 在 prasertcbs Youtube 的評價
? เทคนิคต่าง ๆ ที่ใช้ในคลิป
02:22 เข้าใจ instructions และ arguments ที่สำคัญที่อยู่ใน Dockerfile
08:44 การใช้ docker build
20:20 การ push image ที่สร้างไปยัง docker hub
25:05 การ pull image จาก docker hub
28:35 การลบ image ใน docker hub
ดาวน์โหลดไฟล์ Dockerfile ที่ใช้ในคลิป ► https://bit.ly/2WGQtBd
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน docker ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGJV7UpJs6NVvsf6qaKja9_
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
สอน SQL สำหรับ Data Science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGq8M6HO8xrpkaRhvEBsQhw
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
#prasertcbs_SQL #prasertcbs #prasertcbs_MySQL #docker
docker build image 在 Building a Docker Image Pipeline Using GitHub Actions 的八卦
... <看更多>