diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index cb1e03609..3e52c1b20 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -580,6 +580,9 @@ const message = { liveHelper: 'Allows the running container state to be preserved in case of unexpected shutdown or crash of the Docker daemon', liveWithSwarmHelper: 'live-restore daemon configuration is incompatible with swarm mode.', + iptablesDisable: 'Close iptables', + iptablesHelper1: 'This setting will disable Docker automatic configuration of iptables rules, which may cause ', + iptablesHelper2: 'the container is unable to communicate with the external network', daemonJsonPath: 'Conf Path', serviceUnavailable: 'Docker service is not started at present, please click', startIn: ' to start', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 77b4a474f..40d61d0be 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -593,6 +593,9 @@ const message = { registries: '私有仓库', liveHelper: '允许在 Docker 守护进程发生意外停机或崩溃时保留正在运行的容器状态', liveWithSwarmHelper: 'live-restore 守护进程配置与 Swarm 模式不兼容', + iptablesDisable: '关闭 iptables', + iptablesHelper1: '该设置将关闭 Docker 对 iptables 规则的自动配置,这可能会导致', + iptablesHelper2: '容器无法与外部网络通信', daemonJsonPath: '配置路径', serviceUnavailable: '当前未启动 Docker 服务,请在', startIn: '中开启', diff --git a/frontend/src/views/container/setting/index.vue b/frontend/src/views/container/setting/index.vue index ed284b8f7..4afa0a47c 100644 --- a/frontend/src/views/container/setting/index.vue +++ b/frontend/src/views/container/setting/index.vue @@ -63,7 +63,7 @@ /> - + @@ -126,6 +126,28 @@ + + {{ $t('container.iptablesHelper1') }} + {{ $t('container.iptablesHelper2') }} + ! + + + @@ -172,6 +194,8 @@ const stopVisiable = ref(); const stopSocket = ref(); const stopService = ref(); +const iptablesVisiable = ref(); + const onSave = async (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.validate(async (valid) => { @@ -194,6 +218,17 @@ const onSaveFile = async () => { confirmDialogRef.value!.acceptParams(params); }; +const onChangeIptables = () => { + if (!form.iptables) { + iptablesVisiable.value = true; + } +}; + +const onSaveIptables = (status: boolean) => { + form.iptables = status; + iptablesVisiable.value = false; +}; + const onOperator = async (operation: string) => { if (operation === 'stop') { stopVisiable.value = true;