Dnnmmp 是什么?
它是基于 docker 的开发环境,具有 lnmp,lamp,mac 系统下的 XAMPP、MAMP 一样的功能。但它是未来开发者的趋势,因为基于 docker,使你本机电脑有云开发的效果。
它能做什么?
目前集成了 nodejs、PHP、mysql、MongoDB、redis、nginx、go;PHP 开发者、nodejs 开发者、前端、运维、go 可以直接使用。效率提高非常多。
它有什么优势?
一键安装所有程序,或者单独使用某个程序;方便版本切换,还有它是基于 docker,一点也不影响本机环境,让程序员的整个生涯都不再需要为环境困扰。
今天加入了对 golang 的支持,希望学习 go 的同学,但又不想破坏本地的环境,可以试一下。
官方文档
方法
安装步骤如下:
- 本地安装
git
、docker
和docker-compose
(建议使用最新版本:1.23)。
附录 1:docker 安装 -
clone
项目:# 如果不是 `root` 用户,那么将当前用户加入 `docker` 用户组 $ sudo gpasswd -a ${USER} docker # 获取项目 $ git clone https://github.com/wallace5303/dnnmmp.git
-
构建并启动:
$ cd dnnmmp # 构建 $ docker-compose build go
查看镜像:
$ docker image ls
-
进入容器查看信息
# 必须进入 GO 工作空间 cd ./www/gowork docker run -it --rm -v $pwd:/go:rw --privileged dnnmmp_go /bin/sh # 查看版本 go version # 查看环境变量信息 go env
PS:go 的一些变量说明
编写 hello world
-
进入 go 的项目目录
# Go 代码必须放在工作空间内 cd ./www/gowork # 编辑文件 vim hello.go # 添加内容 package main import "fmt" func main() {fmt.Println("Hello, World!") } # 进入容器运行 docker run -it --rm -v $pwd:/go:rw --privileged dnnmmp_go /bin/sh go run hello.go Hello, World!
需要深入的学习 go,请点击 go 编程