docker 已经出山很久了,初出江湖就一鸣惊人,在程序员的江湖里声名远扬,作为江湖里的一粒尘埃,早就想从他身上学个一招半式,通过江湖上的口口流传,掌握了他的基本套路,用来锻炼锻炼身体很给力。但是一直以来,这一招半式,只能使用构建自己的开发环境,无法和自己开发的项目结合改造为容器化,因为之前没接触过 dockerfile、docker-compose.yml 这些秘籍。偶然间遇到了 derrick 这位高人,分分钟给你写出武林秘籍。
刚开始想用 derrick 创建一个maven项目的容器,但是一直报错
[Non-resolvable parent POM and 'parent.relativePath' points at wrong local POM - maven](https://html.developreference.com/article/16790535/Maven%3aNon-resolvable+parent+POM+and+'parent.relativePath'+points+at+wrong+local+POM)
原来是因为我的maven项目存在父子级依赖,使用过很多方法,依然报这个问题,果断放弃,就是这么洒脱
后面决定创建一个 nodejs 项目容器
1.安装 derrick
sudo -H pip3 install python-derrick
ps:
不要忘记 -H;
mac 默认是低版本的 Python,我的电脑是 2.7,看下本地有没有3.7版本的python
which python以及which pip
which python3和which pip3
如果没有,则安装
brew install python3。
可以直接 使用 pip3 命令,如果想永久生效,可以通过在
vim ~/.bash_profile 配置别名生效
alias python="/usr/local/bin/python3.7"
alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7" alias pip="/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3"
2.初始化 derrick
derrick config
ps:
命令不一定正确哦,跟着提示来就行了
3.生成 dockerfile
到项目根目录,执行命令
derrick init
生成下面的几个文件,Jenkinsfile 是给jenkins使用的,kubernetes-deployment.yaml 是给 kubernetes 使用的,如果只是单纯的docker,只用到 docker-compose.yml、Dockerfile
4.创建镜像
到项目根目录,执行命令
derrick up
执行命令后,会提示输入镜像名称,输入名称后回车
huangzx3.exam.front:test4
如不出意外,会生成镜像
5.执行容器
执行命令
docker run -p 8002:8002 huangzx3.exam.front:test4
ps:
1.package.json 不要忘记加个start
2.如果是dev方式启动nodejs,不要忘记修改 vue.config.js中的host为0.0.0.0,不然宿主机没办法访问到容器
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。