docker使用笔记IV -- 使用docker的风格分离Nginx PHP Mysql
今天老高动手实践一下分离nginx和php,还有mysql。即三个image: g-nginx,g-php,g-mysql。
今天老高动手实践一下分离nginx和php,还有mysql。即三个image: g-nginx,g-php,g-mysql。
安装指定版本的docker,在Google上搜索关键字docker install specific version,搜到的解决办法基本都没法用。于是自己动手,发现一个安装指定版本的捷径!
每次进入docker容器内操作一些东西时,那效率简直太低!吓得老高赶紧把zsh + oh-my-zsh打包塞进去,终于可以愉快的开发了!zsh都装了,sshd也一起开了得了!
docker快速安装笔记
老高最近快被工作掩埋了,各种赶上线,各种修BUG,真凄惨! 今天来说说Docker打包的优化问题。为什么要说这个问题呢?请听我慢慢道来。
git的tag功能是为了将代码的某个状态打上一个戳,通过tag我们可以很轻易的找到对应的提交。一般大家会在一些重要事件打tag,比如提测时,开发完成时,测试结束时,版本发布时等等。
对比git的tag,docker的tag似乎更加灵活,docker将文件等信息的变动抽象为一次次的commit,每一次commit以后可能走向不同的分支,当我们完成dockerfile的构建后,会生成一串无规则的字符串代表此次生成的ID,此时,tag的作用就是为他创建一个友好的NAME,方便我们对镜像库的管理。
有时候tag的过度友好也会对我们造成一些困惑,下面老高总结一下在使用docker tag时遇到的坑。
下面代码的意思是批量停止已经Exited的容器,然后删除之,最后删除,因为名称为none的镜像可能还没有退出,这样做也保险一点。
docker stop $(docker ps -a -q -f status=exited)
docker rm -v $(docker ps -a -q -f status=exited)
docker images|grep none|awk '{print $3 }'|xargs docker rmi
如果要直接删除所有的容器,可以这样:
docker kill $(docker ps -a -q)
docker rm -v $(docker ps -a -q)