1. 程式人生 > 其它 >配置管理Docker物件和守護程序

配置管理Docker物件和守護程序

一、配置Docker物件

使用 Docker 的主要工作是建立和使用各類物件:映象、容器、網路、卷等。

1、Docker物件的標記

標記(Label):是一種將元資料應用於Docker物件(映象、容器、網路、卷、Swarm節點等)的機制。

標記的形式是鍵值對,以字串的形式儲存。

  • 標記的鍵:是鍵值對左邊的元素。可以由. - 字母 數字組成的字串。
  • 標記的值:是可以包含能表示為字串的任何資料型別,包括但不限於JSON、XML、CSV或YAML。
  • Docker並未反序列化該標記值
  • 同一個物件中的鍵值對是唯一的,一個鍵指定多個值,後面的值會覆蓋前面的值。

2、格式化命令和日誌輸出

Docker使用Go模板管理某些命令和日誌驅動的輸出格式。
使用docker inspect

命令時可通過--format選項控制輸出格式。

# 語法
[root@localhost ~]# docker inspect --help
Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Return low-level information on Docker objects
Options:
  -f, --format string   Format the output using the given Go
                        template
  -s, --size            Display total file sizes if the type
                        is container
      --type string     Return JSON for specified type


# 建立容器
[root@localhost ~]# docker run -tid --name TEst ubuntu
55271e4fe05787346ec47dee48b2566e3f73db9fd5f31198d965ce8e59ce8296
# 案例1:使用join函式將一組字串進行連線以建立單個字串
[root@localhost ~]# docker inspect --format='{{.HostConfig.MaskedPaths}}' TEst
[/proc/asound /proc/acpi /proc/kcore /proc/keys /proc/latency_stats /proc/timer_list /proc/timer_stats /proc/sched_debug /proc/scsi /sys/firmware]
# 改用join連線建立單字串,只適用陣列[]
[root@localhost ~]# docker inspect --format='{{join .HostConfig.MaskedPaths ","}}' TEst
/proc/asound,/proc/acpi,/proc/kcore,/proc/keys,/proc/latency_stats,/proc/timer_list,/proc/timer_stats,/proc/sched_debug,/proc/scsi,/sys/firmware

# 案例2:使用json函式將元素編碼為JSON字串
[root@localhost ~]# docker inspect --format='{{json .HostConfig.MaskedPaths}}' TEst
["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware"]

# 案例3:使用lower函式將字串轉為小寫
# 只適合字串
[root@localhost ~]# docker inspect --format='{{.Name}}' TEst
/TEst
[root@localhost ~]# docker inspect --format='{{lower .Name}}' TEst
/test

# 案例4:使用split函式將字串切分為由分隔符分隔的字串列表



# 案例5:使用title函式將字串的首字母轉為大寫

# 案例6:使用upper函式將字串轉為大寫

# 案例7:使用println函式使輸出時每個值佔一行




3、刪除不用的Docker物件

二、配置和管理Docker守護程序

1、Docker守護程序的啟動

2、Docker守護程序的配置方式

3、解決daemon.json檔案和啟動指令碼之間的衝突

4、Docker守護程序目錄

三、守護程序操作