醉梦半醒的博客

Docker的大坑记录

字数统计: 470阅读时长: 2 min
2018/08/18 Share

本来出道web题投稿到安恒的,安恒要写Dockerfile,怕是在为难我胖虎!!

好了,速学了一下docker,请教了docker忘的差不多的云计算选手

我的天,到最后还是一大堆bug

也就是搭建一个centos的环境,要有apache和php就行

没找到用centos镜像再去装apache和php的,找到了也是一堆bug,就拉了一个现成的

FROM naqoda/centos-apache-php
COPY html/index.php /var/www/app/public_html/
RUN echo “ServerName localhost:80” >>/etc/httpd/conf/httpd.conf
RUN echo “session.save_path=”/var/lib/php/session””>>/etc/php.iniRUN chmod -R 777 /var/lib/php/session
EXPOSE 80

中间的copy啥的爱咋的咋的

刚开始httpd起不来,发现没有写servername,我这个运维渣渣思考很长时间用echo写入配置文件

因为我的php必须要有seesion的支持,写个测试文本发现session不支持,后面查询知道没有session.save_path

他镜像里的配置文件地址也是个问题,我是通过phpinfo();来获得信息的,帮了我一个大忙

docker build -t test .

docker run -i -p 80:80 test

对了,还有会出现防火墙端口映射的问题,看这个:

https://blog.csdn.net/ycl111/article/details/49028965

 

docker常用命令记录:

后台运行:docker run -i -t -p 80:80 test

ctrl+p+q退出

docker stop xxx;

docker rm xxx;

docker rmi xxx; 删除镜像

docker ps;

docker ps -a;

 

1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

2.查看当前有些什么images

docker images

3.删除images,通过image的id来指定删除谁

docker rmi

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep “^” | awk “{print $3}”)

要删除全部image的话

docker rmi $(docker images -q)

CATALOG