本来出道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为
docker rmi $(docker images | grep “^
要删除全部image的话
docker rmi $(docker images -q)