# 雲端通訊整合實務(9/22)
###### tags: `docker`
# docker 介紹
docker 是一個快速開發的平台,其中的容器可以快速的產生並支援線上服務,而docker也支援多平台。

## docker vs 傳統機器

傳統機器例如虛擬機,它較為沈重且吃資源,因此當電腦開到3、4台時通常就附和不了,而docker是屬於輕量化的設計,且每個容器都是屬於一個隔離的個體。
# docker 指令
從docker官網開放鏡像
```
docker pull [鏡像名稱]
```
將鏡像上傳到dockerhub
```
docker push [鏡像名稱]
```
查看docker鏡像
```
docker images
```
啟動鏡像
```
docker run -d(detent:背景執行) --name=[容器名稱] -p [centos對應容器的埠:容器對外的埠] 鏡像
```
> 舉例:
```
docker run -d --name myhttpd -p 8080:80 httpd
```
停止容器
```
docker stop [容器ID]
```
啟動容器
```
docker start [容器ID]
```
查看容器狀態
```
docker ps / docker ps -a(all:全部)
```
查看容器詳細資訊
```
docker logs [容器ID]
```
刪除容器
```
docker rm -f [容器ID]
```
一次性刪除未啟動的容器
```
docker rm -f `docker ps -a -q(q:quit)`
```
一次性刪除未啟動的鏡像
```
docker rmi(i:images) `docker images -q`
```
登入dockerhub
```
docker login (帳號/密碼)
```
# 測試1
從docker官方下載httpd鏡像,並且啟動容器
```
docker pull httpd
```
```
docker run -itd myhttpd -p 8080:80 httpd:latest
```
測試容器是否有成功啟動,可以打開網頁打上
```
http://127.0.0.1:8080
```
成功後會看到以下畫面:

## Reference
[上課影片](https://drive.google.com/drive/folders/1oM_ejAeSIhGbDGAVBDnVRv4DuoXaDwYw?usp=sharing)
{"metaMigratedAt":"2023-06-15T13:52:12.756Z","metaMigratedFrom":"Content","title":"雲端通訊整合實務(9/22)","breaks":false,"contributors":"[{\"id\":\"12648b0e-c144-416d-8233-8f881ace99a7\",\"add\":1341,\"del\":127}]"}