1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-21 14:29:40 +02:00

fix(docker/container): container logs viewer error when logging is disabled (#10384)

* fix(docker/container-logs): invalid string breadcrumb

* fix(docker/container): let docker select the logging driver by default on container create

* fix(docker/container-logs): information panel in container logs when logging is disabled

* fix(docker/container): dont include HostConfig.LogConfig if no driver is selected
This commit is contained in:
LP B 2023-09-28 15:53:52 +02:00 committed by GitHub
parent d678b155ba
commit ada6b31f69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 74 additions and 6 deletions

View file

@ -0,0 +1,46 @@
import { useCurrentStateAndParams } from '@uirouter/react';
import { useContainer } from '@/react/docker/containers/queries/container';
import { InformationPanel } from '@@/InformationPanel';
import { TextTip } from '@@/Tip/TextTip';
import { Link } from '@@/Link';
export function LogView() {
const {
params: { endpointId: environmentId, id: containerId },
} = useCurrentStateAndParams();
const containerQuery = useContainer(environmentId, containerId);
if (!containerQuery.data || containerQuery.isLoading) {
return null;
}
const logsEnabled =
containerQuery.data.HostConfig?.LogConfig?.Type && // if a portion of the object path doesn't exist, logging is likely disabled
containerQuery.data.HostConfig.LogConfig.Type !== 'none'; // if type === none logging is disabled
return <>{!logsEnabled && <LogsDisabledInfoPanel />}</>;
}
function LogsDisabledInfoPanel() {
const {
params: { id: containerId, nodeName },
} = useCurrentStateAndParams();
return (
<InformationPanel>
<TextTip color="blue">
Logging is disabled for this container. If you want to re-enable
logging, please{' '}
<Link
to="docker.containers.new"
params={{ from: containerId, nodeName }}
>
redeploy your container
</Link>{' '}
and select a logging driver in the &quot;Command & logging&quot; panel.
</TextTip>
</InformationPanel>
);
}