自定义docker使用说明
一步到位制定你所需要的项目docker镜像,制作完成跑起来即可访问应用。
注意
:请将你的项目放置在命令运行的目录,Dockerfile中会有COPY custom /app/project/custom/
命令将你的项目拷贝到镜像中。
注意
:requirement 和 requirement2 根据你自己的项目来,其中requirement2是安装不上需要强制升级的包。
注意
:dockerfile中暴露端口根据自己需要增加。
提示
:失败一次不可怕,可怕的是失败了就不敢尝试第二次。
命令提示
创建镜像命令:docker build . -t docker_name
启动镜像为容器:docker run -idt --name container_name -p 80:80 -p 8000:8000 docker_name
查看容器情况:docker ps
进入容器:docker exec -it container_name bash
保存镜像到本地:docker save -o custom.tar docker_name # -o:指定保存的镜像的名字
从本地导入镜像:docker load --input custom.tar 或 docker load < custom.tar
删除因失败带来的none/奇怪名字的镜像/容器:
删除容器:docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
删除镜像:docker rmi $(docker images | grep "none" | awk '{print $3}')
-
Dockerfile
如果有问题build时有问题,尝试修改对应命令后重新跑。
docker build . -t name
命令目录不要放太多无用文件,创建时docker会讲这个目录下所有文件发送至docker服务器。根据需求安装程序/依赖包
替换requirements.txt和requirements2.txt
pip_install.png之所以用两个依赖文件是因为有依赖包安装会报错,这里需要强制升级才行。
-
nginx
确保nginx的配置转发和静态路径没有问题,保证nginx能够启动。
根据项目需求修改转发路径/静态文件
nginx.png -
gunicorn
gunicorn配置文件时py结尾,这个是因为gunicorn报错。在这个版本中是否会报错,暂时还没有测试。
pid/log这些路径在dockerfile中定义,如果有修改要两边对上。
-
supervisor
supervisor主要时用来接管nginx和gunicorn的进程,/startup.sh中启动内容就是启动supervisor。
如果你不需要nginx或者gunicorn,记得在配置文件中把对应的启动配置删掉。
如果
supervisorctl
需要用户名密码,在配置文件[inet_http_server]
有写用户名和密码(123/123)。程序配置信息注意事项
supervisor.png -
startup
内容是启动supervisor,这一步很重要,如果是windows环境dockerfile中的转换命令很重要,否则build失败日志种会出现unix的错误。
查看docker启动日志:
docker logs --tail 20 docker_name
网友评论