Sign inSign up

kevinlin86/dev-container

By kevinlin86

Updated almost 3 years ago

My develop environment. Golang + VSCode Remote + neovim + docker + kubectl + helm+ ...

Image
0

674

kevinlin86/dev-container repository overview

个人多终端适配的开发环境

快速使用
# download docker-compose
mkdir dev-container && cd dev-container && curl -OL https://raw.githubusercontent.com/kevin1sMe/dev-container/master/docker-compose.yaml

# setup docker
HOST_DIR=/root/source CONTAINER_DIR=/root/source docker-compose up -d
特点
  • 完全容器化方案,一行命令即可,不需要手动安装任何东西。
  • 基于 neovim + nvimdots ,提供了个强大的命令行编辑器。喜欢命令行的你,或许会爱上它!
  • 基于 VS Code 远程开发环境
    • 修改了一些 ssh 配置方便你 VS Code 远程使用。
  • 使用了 zsh 并且选择了一个美观的主题:powerlevel10k/powerlevel10k

其它说明
  • 复用了主机的 docker 服务,你可以在容器内执行 docker 命令。
  • 使用-v 挂载主机的源代码目录到容器内,防止你的修改因容器异常结束或不当的行为导致数据丢失。
  • 建议容器如果映射到主机端口,务必使用 127.0.0.1 限制本地访问,提升安全性。(见参考的 docker-compose.yaml)
  • 提供了 Dockerfile 的构建选项:
    • 可替换源为国内的清华源:mirrors.tuna.tsinghua.edu.cn
    • 可选择是否安装一些开发工具(视个人情况使用)

一些小 Tips

为了更好的使用它,可以借助 ssh ProxyCommand 达到更方便的进入容器的效果。

Host dev
    HostName 1.2.3.4 # 你开发机器的地址
    User root  # 你机器的ssh用户
    Port 22 # 你机器的ssh端口
	  IdentityFile "/Users/xxx/.ssh/id_rsa"  # 你登录的SSH KEY

Host dev-in-container
    HostName 127.0.0.1
    User root
    Port 7222 # 这个端口是示例中docker-compose映射主机的端口,和那边设置一样即可。
    ProxyCommand ssh dev -W %h:%p

这样你可以直接ssh dev-in-container进入你的开发环境了。

附带工具
编程语言 & 工具
  • golang1.21
  • python3
  • gcc/g++ 9.4
  • clang/gdb/cmake/git/subversion
其它工具
  • tmux screen byobu(推荐)
  • bash-completion shellcheck
  • tree
  • jq

Tag summary

Content type

Image

Digest

sha256:b3742c8e3

Size

835.7 MB

Last updated

almost 3 years ago

docker pull kevinlin86/dev-container