Docker學習

操作Docker出現錯誤:

1,FATA[0000] Error response from daemon:這個問題可能是由於操作系統不兼容導致的,如使用了32位的Linux系統。

2,製作HTTPS服務器鏡像:

  • mkdir ssl
  • cd ssl/
  • keytool -getkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
  • 之後設置相關的密碼以及用戶名等,就可在ssl目錄下生成tomcat.keystore文件。注意:問你是否正確的時候,若寫yes會進入無限循環,用y即可。
  • ls後會發現多了tomcat.keystore文件。 

3,進入已經存在的容器:docker exec -it <container_id> /bin/bash

《Docker進階與實戰》

4,交互型容器:運行在前臺,有交互型的控制檯,可以給容器輸入,也可以得到容器的輸出。創建該容器的終端被關閉,在容器內部使用exit或者docker stop、docker kill命令後,容器將變成停止狀態。相關代碼如下:

docker run -i -t --name=inspcet_shell ubuntu /bin/bash;

首先run指令告訴docker要運行某個容器,該命令後面是命令行標誌-i和-t,前者用於打開容器的標準輸入,後者告訴docker爲容器建立一個命令行終端。這兩個標誌位我們和容器提供了交互shell,是創建交互型容器的基本配置。後面的--name標誌爲容器制定一個名字,這是可選項。若沒有制定名字,將隨機生成一個名字。接下來,Ubuntu負責告訴docker使用哪個鏡像取創建容器。最後告訴docker要在容器裏面執行命令/bin/bash

5,後臺型容器:運行在後臺,創建啓動之後就與終端無關,幾遍終端關閉,該後臺容器也依然存在,只有調用docker stop或者docker kill命令才能夠使容器變成停止狀態。在實際運用中,大多數容器都是後臺型容器,因爲服務器程序不可能因爲創建容器的終端退出而退出。創建後臺型容器需要使用-d參數,其創建命令如下:docker run --name daemon_while -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1;done"

f32fd32fd3ff........

上面的命令沒有像交互型容器那樣關聯到一個shell,而是返回了一個容器ID後直接返回到了宿主主機的命令提示符。

6,查看容器:docker ps查看當前運行的容器;docker ps -a查看所有容器,包括運行的與停止的;docker ps -l列出最後創建的容器;docker ps -n=x最後創建的x個容器

7,查看容器內容:對於交互型容器可以通過命令行直接查看容器的相關信息,而對於後臺型容器要獲取其信息,需要其他辦法,docker給我們提供了logs,inspect等方法,docker logs命令用於查看容器的日誌,它將標準輸出的數據作爲日誌輸出到運行docker logs命令的終端上。如:docker logs -f deamo_logs(容器名);其中-f標誌表示要實時查看日誌,即該日誌處於不斷更新狀態。若只關心日誌的最後部分,可以通過--tail參數設置,使用--tail標誌可以精確到logs輸出的日誌行數,如:查看最後5行日誌,docker logs -f --tail-5 daemon_logs;使用docker top命令可以查看容器中運行的進程,如docker top daemon_top;

8,查看容器其它信息:採用docker inspect 容器名或者id。若是查看容器的運行狀態,採用docker inspect --format=‘{{.State.Running}}' daemon_dave;查看容器IP地址:docker inspect --format ’{{.NetworkSetting.IPAddress}}' daemon_dave;同時查看多個信息,例如查看容器名和運行狀態:docker inspect --format ‘{{.Name}} {{.State.Running}}'  daemon_dave bob_the_container


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章