自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

99%的人沒使用過它倆,Docker優(yōu)秀實踐

開發(fā) 開發(fā)工具
平時可能因為測試或者一些規(guī)范的操作方式導(dǎo)致啟動一個容器,忘記了這個容器的啟動命令是什么了,又需要找回來在別的機器上創(chuàng)建的時候,就很麻煩,可能很多人會想到通過docker inspect分析輸出的json文件中的volume、ports、Env等。

[[403613]]

 Docker最佳實踐

最近發(fā)現(xiàn)兩個非常好用的工具,一個是runlike,一個是whaler

  • runlike:通過容器打印出容器的啟動命令
  • whaler:通過鏡像導(dǎo)出dockerfile

聽起來是不是想說N...B...哈哈,那就走起?

找回Docker容器運行的命令

平時可能因為測試或者一些規(guī)范的操作方式導(dǎo)致啟動一個容器,忘記了這個容器的啟動命令是什么了,又需要找回來在別的機器上創(chuàng)建的時候,就很麻煩,可能很多人會想到通過docker inspect分析輸出的json文件中的volume、ports、Env等

  1. docker inspect $container_name 

這個命令應(yīng)該是很熟悉的,查看容器的基本信息。

雖然這樣也能找到運行容器的命令,但是依舊還需要時間去整理,因此這里分享一個可以直接打印運行命令的工具runlike[1],在runlike傳遞一個容器名稱,就會直接打印出該容器的運行命令。runlike使用起來非常方便,可以直接通過pip安裝,也可以通過容器方式免安裝使用:

  1.  pip 
  2. pip install runlike 
  3. by docker 
  4. alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike" 

下面還是通過上面那個容器測試一下是否可以:

這樣使用起來就方便很多了。關(guān)于runlike一些其他的選項,可以直接通過--help學(xué)習(xí)。

從鏡像導(dǎo)出Dockerfile

平時可能會構(gòu)建很多不同的鏡像,比如維護一些基礎(chǔ)Docker鏡像、想查看一些公開倉庫的Docker鏡像是怎么構(gòu)建的,或因為長時間不維護找不到當(dāng)時構(gòu)建鏡像的Dockerfile,或者因為網(wǎng)絡(luò)無法查看時,能從鏡像導(dǎo)出Dockerfile就顯得很重要,這里可以通過whaler[2]來快速的導(dǎo)出. 這里我們依舊不安裝,通過容器化的方式使用dfimage命令,便于使用,我們將該命令寫成命令別名

  1. # alias export docker image to dockerfile 
  2. alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler" 

然后通過whaler命令輸出pegleg/whaler鏡像的dockerfile文件:

這樣就輸出pegleg/whaler這個鏡像的Dockerfile大致的內(nèi)容了,還是彩色的輸出呢?哈哈,有心了。從上圖可以看到輸出的dockerfile也與平常寫的不太一樣,可以在github上看下倉庫內(nèi)的dockerfile文件

  1. FROM golang:1.14.4 AS builder 
  2. WORKDIR $GOPATH 
  3. RUN go get -u github.com/P3GLEG/Whaler 
  4. WORKDIR $GOPATH/src/github.com/P3GLEG/Whaler 
  5. RUN export CGO_ENABLED=0 && go build . 
  6. RUN cp Whaler /root/Whaler 
  7.  
  8. FROM alpine:3.12.0 
  9. WORKDIR /root/ 
  10. COPY --from=builder /root/Whaler . 
  11. ENTRYPOINT ["./Whaler"

由dockerfile來看,這個whaler采用的多階段構(gòu)建,所以無法輸出--from=builder的構(gòu)建內(nèi)容,這個鍋whaler不背,我們可以換一個鏡像看看:

這個就顯示的很自然,很有熟悉的味道了。whaler支持同時分析多個鏡像等等功能,這里就不在說了,感興趣的可以自己看一下。至于whaler是怎么實現(xiàn)的,其實看一下源碼就明白了。

 

責(zé)任編輯:姜華 來源: 云原生生態(tài)圈
相關(guān)推薦

2020-05-26 12:32:30

Python模板語言編程語言

2020-05-27 09:23:29

Python模板語言

2021-07-22 09:28:35

DockerLinux命令

2019-12-16 12:11:53

Docker容器Kubernetes

2018-11-21 09:40:57

熔斷實踐AOP

2023-01-13 16:34:08

2022-08-01 07:27:36

JavaDocker容器

2022-07-25 14:24:53

Docker容器安全

2021-10-15 06:49:37

MySQL

2025-04-03 07:41:55

API阻塞隊列數(shù)據(jù)

2019-05-21 10:45:44

Docker架構(gòu)容器

2022-08-19 09:01:59

ReactTS類型

2022-07-18 08:57:08

容器安全容器惡意攻擊

2025-02-18 10:00:38

2021-09-25 13:05:10

MYSQL開發(fā)數(shù)據(jù)庫

2022-03-05 23:08:14

開源軟件開發(fā)技術(shù)

2023-12-08 14:50:45

Python枚舉類工具

2024-06-12 13:57:00

2020-04-23 10:35:10

Docker鏡像實踐

2023-02-07 15:33:16

云遷移數(shù)據(jù)中心云計算
點贊
收藏

51CTO技術(shù)棧公眾號