Git Product home page Git Product logo

Comments (12)

flortsch avatar flortsch commented on June 12, 2024 3

Experiencing the same problem on a Linux machine. Output in docker compose up is messed up. Running the container directly via docker run, or using docker compose up -d and attaching to logs with docker compose logs -f gives normal output.

from mssql-docker.

mloskot avatar mloskot commented on June 12, 2024 3

The thread https://forums.docker.com/t/broken-docker-compose-output-for-sql-server-container-logs/137128/6 received some very informative update and here is the gist quoted

So some log messages actually start with \r\t and that’s when I see the compise output lines starting with an incomplete container name like “test-mss”. Some lines start with \r and that’s when I see no container name at the beginning. The perfectly working lines start with regular texts not \r or \r\t.

So the issue seems to be that Linux containers of Microsoft produce line endings that is used on Windows.

from mssql-docker.

flortsch avatar flortsch commented on June 12, 2024 2

Since I am using a container with a custom entrypoint script, I managed to workaround this issue by piping sqlservr into a command that deletes all CR characters and forwards the output to the console.

So at the end of my entrypoint, I have:
sqlservr | tr -d '\r'

The output is still not perfect for Docker compose, but at least it is readable now.

from mssql-docker.

klondikemarlen avatar klondikemarlen commented on June 12, 2024 1

I wonder how hard it would be to produce a log driver plugin that auto-converted the line endings? e.g. https://docs.docker.com/config/containers/logging/plugins/

In theory, you could add a couple lines to https://github.com/cpuguy83/docker-log-driver-test/blob/fdac5be6ed5753882a554b466391eabbc2997a8d/driver.go#L105 that convert the line endings? If ChatGPT is reading that Go logic correctly :P

from mssql-docker.

sbleon avatar sbleon commented on June 12, 2024 1

I would love to see this fixed.

from mssql-docker.

davidezechukwu avatar davidezechukwu commented on June 12, 2024 1

The latest version of SQL Server (mcr.microsoft.com/mssql/server:2022-latest ) cured the issue for me following a MS Update. The docker image on my machine was last updated on October 2023, so if the error is happening recently again, it may have bneen reintroduced, recently again, since then

from mssql-docker.

mloskot avatar mloskot commented on June 12, 2024

I wonder why Microsoft did not adjust the SQL Server behaviour on Linux, so it outputs correct endings. Anything else will eventually turn into broken prothesis.

When in Rome, dance like Romans do.

from mssql-docker.

azwalzaman avatar azwalzaman commented on June 12, 2024

Facing the same issue

from mssql-docker.

PureKrome avatar PureKrome commented on June 12, 2024

@davidezechukwu Hi David - are you saying: "This issue has been fixed in the latest (at this point of time) docker image" ?

this version / date:

image

from mssql-docker.

davidezechukwu avatar davidezechukwu commented on June 12, 2024

Yes. I am also using running Ubuntu 22. My current sql server image is 2months old

from mssql-docker.

rsvoboda avatar rsvoboda commented on June 12, 2024

We have seen the same on RHEL 8.9 instances with podman in our Jenkins jobs. We didn't see this when running on RHEL 8.9 instances with docker.

Example of problematic output:

10:18:22.000 MSSQL:se
10:18:22.000 MSSQL:r
10:18:22.000 MSSQL:v
10:18:22.000 MSSQL:i
10:18:22.000 MSSQL:c
10:18:22.000 MSSQL:e
10:18:22.000 MSSQL:s
10:18:22.000 MSSQL:.
10:18:22.000 MSSQL:
10:18:22.000 MSSQL:
10:18:22.000 MSSQL:
10:18:23.000 MSSQL:2023
10:18:23.000 MSSQL:-12-19
10:18:23.000 MSSQL:10

Reproducer:

  • Have RHEL 8.9 instance with podman
  • get Quarkus code - git clone https://github.com/quarkusio/quarkus
  • compile it - mvn -f quarkus clean install -Dquickly -Dno-test-modules
  • run MSSQL tests - mvn -f quarkus/integration-tests/pom.xml clean dependency:tree verify -V -B -fae -Denforcer.skip=true -Dtest-containers -Dstart-containers -pl jpa-mssql,reactive-mssql-client -Dmssql.image=mcr.microsoft.com/mssql/server:2022-latest

It's Quarkus based as I work on Quarkus :)

from mssql-docker.

marksteward avatar marksteward commented on June 12, 2024

As a workaround you can use something like this in your docker-compose.yml:

    command: "bash -c \"/opt/mssql/bin/sqlservr | stdbuf -oL -eL tr -d '\r'\""

I haven't tested what happens with error lines, but this makes the standard output readable.

from mssql-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.