MENU:=1
endef
+define Package/docker-ce/conffiles
+/etc/config/dockerd
+endef
+
define Package/docker-ce/description
Docker Engine is used by millions enables containerized applications
to run anywhere consistently on any infrastructure.
$(INSTALL_DIR) $(1)/etc/docker
$(INSTALL_CONF) ./files/daemon.json $(1)/etc/docker/
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/etc/config/dockerd $(1)/etc/config/dockerd
+
# Must be after systcl 11-br-netfilter.conf from kmod-br-netfilter
$(INSTALL_DIR) $(1)/etc/sysctl.d
$(INSTALL_DATA) ./files/etc/sysctl.d/sysctl-br-netfilter-ip.conf \
USE_PROCD=1
START=25
+DOCKERD_CONF="/tmp/dockerd/daemon.json"
+
+json_add_array_string() {
+ json_add_string "" "$1"
+}
+
+process_config() {
+ local alt_config_file data_root log_level
+
+ rm -f "$DOCKERD_CONF"
+
+ [ -f /etc/config/dockerd ] || {
+ # Use the daemon default configuration
+ DOCKERD_CONF=""
+ return 0
+ }
+
+ config_load 'dockerd'
+
+ config_get alt_config_file globals alt_config_file
+ [ -n "$alt_config_file" ] && [ -f "$alt_config_file" ] && {
+ ln -s "$alt_config_file" "$DOCKERD_CONF"
+ return 0
+ }
+
+ config_get data_root globals data_root "/opt/docker/"
+ config_get log_level globals log_level "warn"
+
+ . /usr/share/libubox/jshn.sh
+ json_init
+ json_add_string "data-root" "$data_root"
+ json_add_string "log-level" "$log_level"
+ json_add_array "registry-mirrors"
+ config_list_foreach globals registry_mirror json_add_array_string
+ json_close_array
+
+ mkdir -p /tmp/dockerd
+ json_dump > "$DOCKERD_CONF"
+}
+
start_service() {
local nofile=$(cat /proc/sys/fs/nr_open)
+ process_config
+
procd_open_instance
procd_set_param stderr 1
- procd_set_param command /usr/bin/dockerd
+ if [ -z "$DOCKERD_CONF" ]; then
+ procd_set_param command /usr/bin/dockerd
+ else
+ procd_set_param command /usr/bin/dockerd --config-file="$DOCKERD_CONF"
+ fi
procd_set_param limits nofile="${nofile} ${nofile}"
procd_close_instance
}
--- /dev/null
+
+config globals 'globals'
+# option alt_config_file "/etc/docker/daemon.json"
+ option data_root "/opt/docker/"
+ option log_level "warn"
+# list registry_mirror "https://<my-docker-mirror-host>"
+# list registry_mirror "https://hub.docker.com"