1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-02-08 01:20:07 +08:00

feat: 增加 iptables 设置修改提示信息 (#925)

This commit is contained in:
ssongliu 2023-05-08 14:57:39 +08:00 committed by GitHub
parent ca1eca476c
commit 900e141297
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 1 deletions

View File

@ -580,6 +580,9 @@ const message = {
liveHelper: liveHelper:
'Allows the running container state to be preserved in case of unexpected shutdown or crash of the Docker daemon', '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.', 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', daemonJsonPath: 'Conf Path',
serviceUnavailable: 'Docker service is not started at present, please click', serviceUnavailable: 'Docker service is not started at present, please click',
startIn: ' to start', startIn: ' to start',

View File

@ -593,6 +593,9 @@ const message = {
registries: '私有仓库', registries: '私有仓库',
liveHelper: '允许在 Docker 守护进程发生意外停机或崩溃时保留正在运行的容器状态', liveHelper: '允许在 Docker 守护进程发生意外停机或崩溃时保留正在运行的容器状态',
liveWithSwarmHelper: 'live-restore 守护进程配置与 Swarm 模式不兼容', liveWithSwarmHelper: 'live-restore 守护进程配置与 Swarm 模式不兼容',
iptablesDisable: '关闭 iptables',
iptablesHelper1: '该设置将关闭 Docker iptables 规则的自动配置这可能会导致',
iptablesHelper2: '容器无法与外部网络通信',
daemonJsonPath: '配置路径', daemonJsonPath: '配置路径',
serviceUnavailable: '当前未启动 Docker 服务请在', serviceUnavailable: '当前未启动 Docker 服务请在',
startIn: '中开启', startIn: '中开启',

View File

@ -63,7 +63,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="iptables" prop="iptables"> <el-form-item label="iptables" prop="iptables">
<el-switch v-model="form.iptables"></el-switch> <el-switch v-model="form.iptables" @change="onChangeIptables"></el-switch>
</el-form-item> </el-form-item>
<el-form-item label="live-restore" prop="liveRestore"> <el-form-item label="live-restore" prop="liveRestore">
<el-switch :disabled="form.isSwarm" v-model="form.liveRestore"></el-switch> <el-switch :disabled="form.isSwarm" v-model="form.liveRestore"></el-switch>
@ -126,6 +126,28 @@
</template> </template>
</el-dialog> </el-dialog>
<el-dialog
v-model="iptablesVisiable"
:title="$t('container.iptablesDisable')"
width="30%"
:destroy-on-close="true"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
>
<span>{{ $t('container.iptablesHelper1') }}</span>
<span style="color: red; font-weight: 500">{{ $t('container.iptablesHelper2') }}</span>
!
<template #footer>
<span class="dialog-footer">
<el-button @click="onSaveIptables(true)">{{ $t('commons.button.cancel') }}</el-button>
<el-button type="primary" @click="onSaveIptables(false)">
{{ $t('commons.button.confirm') }}
</el-button>
</span>
</template>
</el-dialog>
<ConfirmDialog ref="confirmDialogRef" @confirm="onSubmitSave"></ConfirmDialog> <ConfirmDialog ref="confirmDialogRef" @confirm="onSubmitSave"></ConfirmDialog>
</div> </div>
</template> </template>
@ -172,6 +194,8 @@ const stopVisiable = ref();
const stopSocket = ref(); const stopSocket = ref();
const stopService = ref(); const stopService = ref();
const iptablesVisiable = ref();
const onSave = async (formEl: FormInstance | undefined) => { const onSave = async (formEl: FormInstance | undefined) => {
if (!formEl) return; if (!formEl) return;
formEl.validate(async (valid) => { formEl.validate(async (valid) => {
@ -194,6 +218,17 @@ const onSaveFile = async () => {
confirmDialogRef.value!.acceptParams(params); 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) => { const onOperator = async (operation: string) => {
if (operation === 'stop') { if (operation === 'stop') {
stopVisiable.value = true; stopVisiable.value = true;