如何查看在不同端口上运行的docker容器的日志

时间:2018-05-04 09:32:02

标签: docker docker-compose docker-machine

  • 我使用下面的命令

    在两个不同的端口上运行单个docker容器

    docker run -p ${EXTERNAL_PORT_NUMBER}:${INTERNAL_PORT_NUMBER} -p ${EXTERNAL_PORT_NUMBER_SECOND}:${INTERNAL_PORT_NUMBER_SECOND} --network ${NETWORK} --name ${SERVICE_NAME} --restart always -m 1024M --memory-swap -1 -itd ${ORGANISATION}/${SERVICE_NAME}:${VERSION}

我可以看到容器正常运行

docker ps result

我的问题是如何查看此docker容器的日志。

每次执行sudo docker logs database-service -f时,我都会看到容器的日志仅在 9003 端口上运行。

如何查看在 9113

上运行的容器的日志

2 个答案:

答案 0 :(得分:0)

您将获得容器中stdout或stderr上显示的所有日志。

它与在不同端口上公开的进程无关。

如果2个实例在容器内运行,并且两个实例都在系统控制台上显示日志,那么您将获得容器的docker logs命令的两个日志。

您可以尝试使用multitail实用程序在docker exec命令中拖出多个日志文件。

为此你必须将它安装在那个容器中。

答案 1 :(得分:0)

您可以将外部卷绑定到容器服务日志并查看日志

  

docker run -v' path_to_you_host_logs':' container_service_log_path'

     

docker run -v' home / user / app / apache_access.log':   ' /var/log/apache_access.log'