mirror of
https://github.com/jesseduffield/lazydocker.git
synced 2026-07-22 23:21:03 +00:00
Resolved screen size issue, final Docker image uses Scratch
This commit is contained in:
parent
d78648cabb
commit
20f4ad8e49
3 changed files with 21 additions and 10 deletions
12
Dockerfile
12
Dockerfile
|
|
@ -1,5 +1,4 @@
|
|||
ARG BASE_IMAGE_BUILDER=golang
|
||||
ARG BASE_IMAGE=alpine
|
||||
ARG ALPINE_VERSION=3.10
|
||||
ARG GO_VERSION=1.12.6
|
||||
|
||||
|
|
@ -15,16 +14,17 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=${GOARCH} GOARM=${GOARM} go build -a -instal
|
|||
-X main.version=${VERSION} \
|
||||
-X main.buildSource=Docker"
|
||||
|
||||
FROM ${BASE_IMAGE}:${ALPINE_VERSION}
|
||||
ARG VERSION
|
||||
FROM scratch
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG VERSION
|
||||
LABEL org.label-schema.schema-version="1.0.0-rc1" \
|
||||
maintainer="jessedduffield@gmail.com" \
|
||||
org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.url="https://github.com/jesseduffield/lazydocker" \
|
||||
org.label-schema.vcs-description="The lazier way to manage everything docker" \
|
||||
org.label-schema.docker.cmd="docker run -it -v /var/run/docker.sock:/var/run/docker.sock lazydocker" \
|
||||
org.label-schema.version=${VERSION}
|
||||
RUN printf "#!/bin/sh\n\nresize > /dev/null\nlazydocker \$@\n" > /usr/bin/run && chmod 500 /usr/bin/run
|
||||
ENTRYPOINT [ "/usr/bin/run" ]
|
||||
COPY --from=builder /go/src/github.com/jesseduffield/lazydocker/lazydocker /usr/bin/lazydocker
|
||||
ENTRYPOINT [ "/lazydocker" ]
|
||||
COPY --from=builder /go/src/github.com/jesseduffield/lazydocker/lazydocker /lazydocker
|
||||
|
|
@ -69,7 +69,6 @@ go get github.com/jesseduffield/lazydocker
|
|||
```sh
|
||||
docker build -t lazydocker \
|
||||
--build-arg BASE_IMAGE_BUILDER=arm32v6/golang \
|
||||
--build-arg BASE_IMAGE=arm32v6/alpine \
|
||||
--build-arg GOARCH=arm \
|
||||
--build-arg GOARM=6 \
|
||||
https://github.com/jesseduffield/lazydocker.git
|
||||
|
|
@ -80,7 +79,6 @@ go get github.com/jesseduffield/lazydocker
|
|||
```sh
|
||||
docker build -t lazydocker \
|
||||
--build-arg BASE_IMAGE_BUILDER=arm32v7/golang \
|
||||
--build-arg BASE_IMAGE=arm32v7/alpine \
|
||||
--build-arg GOARCH=arm \
|
||||
--build-arg GOARM=7 \
|
||||
https://github.com/jesseduffield/lazydocker.git
|
||||
|
|
@ -91,7 +89,6 @@ go get github.com/jesseduffield/lazydocker
|
|||
```sh
|
||||
docker build -t lazydocker \
|
||||
--build-arg BASE_IMAGE_BUILDER=arm64v8/golang \
|
||||
--build-arg BASE_IMAGE=arm64v8/alpine \
|
||||
--build-arg GOARCH=arm64 \
|
||||
https://github.com/jesseduffield/lazydocker.git
|
||||
```
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@ package app
|
|||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
|
||||
"github.com/jesseduffield/lazydocker/pkg/commands"
|
||||
"github.com/jesseduffield/lazydocker/pkg/config"
|
||||
|
|
@ -51,8 +55,18 @@ func NewApp(config *config.AppConfig) (*App, error) {
|
|||
}
|
||||
|
||||
func (app *App) Run() error {
|
||||
// before we do anything, we need to check that we have some window space available
|
||||
for {
|
||||
width, _, err := terminal.GetSize(int(os.Stdin.Fd()))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if width == 0 {
|
||||
time.Sleep(time.Millisecond * 50)
|
||||
}
|
||||
break
|
||||
}
|
||||
err := app.Gui.RunWithSubprocesses()
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue