最新公告:

中华视窗是诚信为本,市场在变,我们的诚信永远不变...

中华视窗

咨询热线

400-123-4657

行业资讯

当前位置: 首页 > 新闻动态 > 行业资讯

使用 Docker 高效搭建本地开发环境(详细教程)

添加时间:2024-02-11

/

环境本地值检测单位_php本地环境_环境本地辐射

本地开发之痛苦

在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题,环境变量问题,端口冲突,经编译库问题等等。

开发途中,可能你又需要依赖一些其他的服务,你最好祈祷不会出问题,可能你又要重写来配置你的环境,因为你的所有的依赖服务都在你的唯一的工作空间里面。

如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。

然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。因为大多数情况下,我们的开发环境和生产环境并不相同。

可能你下次又有要用到一个新的开项目的开发环境。你又要重复面对上面这些问题.

你不得不去审视,你要话费大量的时间用在搭建环境当中来。

什么是

是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。对我们而言,我觉得只需要把他理解成一个便携的应用容器即可

本地开发环境的好处

试错

对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软件。 有一个傻瓜化的获取软件的方法,后台会自动获得环境镜像并且运行环境。

统一开发和生产环境

对于一般的小公司来说,搭建一个公用的开发环境是一件不那么划算的事情。那么就可以用来统一开发环境,因为不管你用的是、Mac还是。如果生产环境也使用的的话,你甚至可以直接打包一套环境,直接丢上去就可以运行了,再也不用担心开发-生产环境之间的差异了。

高性能

虚拟机的粒度是虚拟出的机,而的粒度则是被限制的应用,相比较而言 的内存占用更少,更加轻量级,性能也更优。面试宝典:

而秒级的启动,也可以让我们启动电脑时候,开发环境的运行是无感知的。

成果展示

我们可能经常要给用户或者是同事展示一样功能的,但是搭建演示环境的过程却是非常麻烦的。现在可以直接将我们的镜像打包丢过去,而不必去做任何环境配置的工作,同时也不必担心他们的环境配置会导致我们的产品无法运行。

安装

在mac平台下,就是去下载一个dmg的安装文件。下载好了之后,双击,然后拖入就可以了,应该也是类似的。

就是安装qq一样简单,傻瓜式的。

附上上的下载链接:

成功之后属于 如果出来版本信息就是安装成功,类似如下

: -

: 18.09.0

API : 1.39

Go : go1.10.4

Git :

Built: Wed Nov 7 00:47:43 2018

OS/Arch: /amd64

: false

: -

:

: 18.09.0

API : 1.39 ( 1.12)

Go : go1.10.4

Git :

Built: Wed Nov 7 00:55:00 2018

OS/Arch: linux/amd64

: true

安装-

一般来说,mac安装之后就会携带-。

其他平台,附上下载链接:

安装完成之后可以输入命令检测

➜ ~ -

- 1.23.2, build

-py : 3.6.0

: 3.6.6

: 1.1.0h 27 Mar 2018

如果没有出现版本相关信息,可以尝试再次安装

环境本地值检测单位_php本地环境_环境本地辐射

下载

的项目地址是我们找一个地方clone下来即可

我这里是在我的用户目录下面新建了一个目录,然后clone了项目下来

配置env文件

拷贝成.env

cp env- env

.env文件中是本地路径NER是远程映射路径,看需求修改,大多数情况下是不需要的

如果有调试代码的需求,也可以将UG和EBUG两个选项打开

如果还有其他的需求,可以在.env里面搜索,里面已经将大多数配置项都给独立出来了

另外推荐公众号Java精选,回复java面试,获取系列面试资料,支持在线刷题。

运行容器

进入到的工作目录下面,就是clone的项目的根目录我的工作目录就是~//。

然后运行如下命令

- up -d nginx mysql

就会看到在自动执行build操作,并且build完了之后自动后台启动了如下容器

nginx

php-fpm

mysql

那是因为php-fpm和还有-in-是随nginx一并启动的

所以实际上

- up -d nginx mysql

- up -d nginx php-fpm mysql

这两条命令的效果是一样的,可以都带上,也可以不写。

up命令在第一次启动的时候实际上就是build+start的组合,如果容器不存在,那么就build一个容器,并且启动服务,如果容器存在那么直接启动服务,大概就是这么个意思-d的意思是后台运行

配置web项目

一下是我项目的部分配置

=mysql

=mysql

=3306

=blog

=root

=root

注意,数据库主机必须得是别名才可以,如果这个地方输入172.0.0.1或者是都是会连接失败的。

在其它的项目中也必须是这样的,配置数据库链接,redis,或者链接都必须设置成具体的别名。或者你说我找到各个容器的ip,可以嘛。可以,但是并不建议这样做,因为ip是会变动的。

具体别名可以参考./-.yml文件中的设置

这个主要的技术实现应该是用了的虚拟网桥技术.

配置宿主机的host

因为,往往我们访问的时候,是通过宿主机上面的浏览器发送请求的,所以,配置宿主机上面的host必不可少。

vim /etc/hosts

我这里加入一条我自己设置的虚拟域名

127.0.0.1 blog.test

然后保存,刷新下host。

配置nginx

进入到.//nginx/sites文件夹,然后ll一下,我们会发现,已经帮我们放了好多列举的文件进来

app.conf. .conf .conf. .conf.

根据需求拷贝一份,然后修改一下就可以了,都不是很难,由于我们本地是开发的博客项目,所以我就直接拷贝.conf.,然后使用vim打开

cp .conf. blog.conf vim blog.conf

打开后的内容...

{

80;

[::]:80;

联系我们

电话:400-123-4657

传真:+86-123-4567

地址:浙江 温州市 温州大道欧江大厦26188号

邮箱:admin@nxdls.net

电话:400-123-4657 传真:+86-123-4567 地址:浙江 温州市 温州大道欧江大厦26188号
版权所有:Copyright © 2002-2024 中华视窗 版权所有 非商用版本 ICP备案编号:粤IP**********    网站地图