mbrt / go-docker-dev Goto Github PK
View Code? Open in Web Editor NEWDocker image with Golang + vim + tools
Home Page: https://hub.docker.com/r/mbrt/golang-vim-dev/
License: MIT License
Docker image with Golang + vim + tools
Home Page: https://hub.docker.com/r/mbrt/golang-vim-dev/
License: MIT License
vim UI becomes forever unresponsive after displaying message vim-go: initializing gopls
. Happens, for example, when undoing edits. See related vim-go #2414 for discussion and potential solution.
vim-go version:
VIM - Vi IMproved 8.1 (2018 May 18, compiled Dec 28 2019 20:36:17)
Included patches: 1-2424
go version: go version go1.13.5 linux/amd64
This might not be an issue with go-docker-dev, as it's Dockerfile is crafted to obtain the latest components. vim-go 8.2 may include installing gopls
. I happened to encounter it because I wanted to use the newest golang version but maintain using vim-go 8.1, so I altered the Dockerfile by adding build ARGs.
Also, this issue isn't expressing itself when running the current image from docker hub because it hasn't been build recently and reflects the following:
vim-go version:
VIM - Vi IMproved 8.1 (2018 May 18, compiled Dec 25 2018 18:32:51)
Included patches: 1-635
go version: version go1.11.4 linux/amd64
Which don't rely on LSP support.
If for some reason the current vim-go 8.2 release doesn't install gopls
, it's a one line fix to the current Dockerfile:
RUN go get golang.org/x/tools/cmd/godoc && \
go get github.com/nsf/gocode && \
go get golang.org/x/tools/cmd/goimports && \
go get github.com/rogpeppe/godef && \
go get golang.org/x/tools/cmd/gorename && \
go get golang.org/x/lint/golint && \
go get github.com/kisielk/errcheck && \
go get github.com/jstemmer/gotags && \
go get github.com/tools/godep && \
> GO111MODULE=on go get golang.org/x/tools/gopls@latest && \
mv /go/bin/* /usr/local/go/bin && \
I run the container and prompt an error:bash: sudo: command not found
I love this docker image and use it a bunch but have a bunch of security issues with it.. first off i have to chmod every source directory to 777 recursively in order for the container to be happy. Secondly if i try to go get aditional dependencies in the container i get access denied. What’s the recommended way of getting around these two issues?
thx
James
sorry for my poor english, need your more patience。thanks.
for some network reason, i try to build my vim-go failed。 your docker images is nice,i used it, and it run success.
but when i mount my direction to docker, “root” is inside,and i can't edit with user "dev".
how i can solve it, need your help, thanks again.
When running docker build
the following messages are produced during the #install vim plugins
step located in the Dockerfile
:
Error detected while processing function plug#end:
line 83:
E484: Can't open file /usr/share/vim/vim80/syntax/syntax.vim
Error detected while processing /home/dev/.vimrc:
line21:
E484: Can't open file /usr/share/vim/vim80/syntax/syntax.vim
Press ENTER or type command to continue
Traced cause to:
make VIMRUNTIMEDIR=/usr/share/vim/vim80
I think it directs the PlugInstall
program to the directory containing the desired plugins. Seems github.com/vim/vim.git repository has changed the /usr/share/vim/vim80
to /usr/share/vim/vim81
. Updated my clone repository version to reflect vim81
which successfully installed the plugins completing the image build.
BTW been using the Docker Hub image for years as my golang IDE - it's wonderful! Working on a project that requires repeatable construction of development tools, therefore, cloned your project and will be "inserting" build arguments to direct installation of specific dependent component versions.
Hope to add godep to the Docker image.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.