配置管理Docker物件和守護程序
阿新 • • 發佈:2022-05-29
一、配置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函式使輸出時每個值佔一行