jnovack / autossh

Heavily customizable AutoSSH Docker container
https://hub.docker.com/r/jnovack/autossh/
MIT License
180 stars 80 forks source link

Docker image changing without a corresponding version change. #32

Closed explorigin closed 3 years ago

explorigin commented 3 years ago

The docker tag of LATEST seems to be it's own image rather than pointing to a distinct version. Doing it this way makes me wonder if the most recent, non-latest image (2.0.0) is a reasonable alternative when LATEST breaks.

As of March 31, defining jnovack/autossh yields this on my RPi4 (image hash: sha256:51114f14d3f42a0142f5056d73ac92bb97a4a6ed5d2e9ad8221c15d190b4fce9):

autossh_web_1        | jnovack/autossh v2.0.0-4-g91ad8b5 revision 91ad8b5 built 2021-02-11T21:09:05Z
autossh_web_1        | Agent pid 9
autossh_web_1        | Identity added: (stdin) (autossh_user@router)
autossh_web_1        | [INFO ] Using STRICT_HOSTS_KEY_CHECKING
autossh_web_1        | sh: clock_gettime(MONOTONIC) failed

Yet jnovack/autossh:2.0.0 works as expected (image hash: sha256:8517e3b5f377fba6cbb81248285409ac588459f341acee3e2a78d65dda39ba81):

autossh_web_1        | jnovack/autossh v2.0.0 revision 1cb6609 built 2020-11-25T11:05:43Z
autossh_web_1        | Agent pid 10
autossh_web_1        | Identity added: (stdin) (autossh_user@router)
autossh_web_1        | [INFO ] Using STRICT_HOSTS_KEY_CHECKING
autossh_web_1        | [INFO ] Using autossh 1.4g
autossh_web_1        | [INFO ] Tunneling 127.0.0.1:58080  on root@example.com:22  to caddy:80
autossh_web_1        | [INFO ] # autossh -M 0 -N -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/known_hosts -o ServerAliveInterval=10 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -t -t -R 127.0.0.1:58080:caddy:80 -p 22 root@example.com

Really this issue is less about the breakage in LATEST and more about the broken image versioning.

jnovack commented 3 years ago

The docker tag of LATEST seems to be it's own image rather than pointing to a distinct version.

Correct.

... non-latest image (2.0.0) is a reasonable alternative when LATEST breaks.

If you need to use it in production, ALWAYS use a numbered release. NEVER use latest.

latest is built off of the "latest" commit in the master branch. While I take best efforts to ensure it should be working before pushing it, no developer is going to guarantee that.