要点:
参考:https://www.cnblogs.com/yurenjun/p/15991062.html
一 打包部署步骤
参考: Docker教程(超全总结)_生信技术的博客-CSDN博客
参考部署基础操作:如何用Docker打包部署自己写的项目?
1.1 首先我们需要去配置的就是我们的运行环境
如何配?通过FROM关键词,例如我需要一个python3.6的环境:
FROM python:3.6
我们只需要在Dockerfile里面编写如上的代码,就能够拉取到一个python3.6的环境。
1.2 定义根目录
下一步我们也许会去定一个根目录,注意是也许,不是一定。
WORKDIR /app
WORKDIR的意思就是让后面的路径成为根路径,注意哦,这里的路径是docker里面的路径。
1.3 拷贝到 docker
然后,我们就会把代码或者是编译完成之后的运行文件COPY到docker当中
COPY . .
上面就是COPY+本地路径 +docker中的路径,也就是本机当前路径文件,拷贝到docker中的路径中。
1.4 安装依赖
在Python中,我们还需要去安装一些Python库,所以你可能还需要这个操作:
RUN pip install -r requirements.txt
RUN 后面接的就是一个命令行。
1.5 暴露端口
安装完成之后,你需要去暴露一下端口
EXPOSE 80
这样能够让我们后续将docker中的端口和本机中的端口进行映射,从而我们可以通过本机ip+端口来进行访问操作。
最后一步就是运行,当然如果是Python我们就可以直接运行了,但是有一些语言框架可能不行,因为它可能还需要进行一次编译,然后再运行编译后的文件,所以这里大家需要注意了。
如果你不想在docker打包过程中编译,你也可以在本机中编译完,直接运行编译后的文件。
1.6 运行打包代码
当然在Python中我们直接运行Python即可。
CMD ["python","main.py"]
1.7 汇总 dockerfile
好了,上面大致就是打包的整个过程与思路,每个框架,每个语言都会有不一样,所以没有准确的答案,准确的答案在官方文档中一般有所体现。
这里也给大家汇总一下python的dockerfile
FROM python:3.6
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
EXPOSE 80
CMD ["python","app.py"]
1.8 根目录运行
编写完dockerfile,我们一般喜欢放在需要打包的地方的根路径,然后直接运行
docker build -t 你想要的名字 .
docker build -t pythondemo .
运行之后,docker会自动完成dockerfile里面的每一个步骤。
打包完成后,我们就可以看到images。
大家直接docker images 即可。
随后,我们就可以来创建容器了。
docker run -d -p 5000:80 pythondemo
docker run -d -p 要映射的本机端口:docker中项目运行的端口 镜像名称
如果你映射完后,还是发现无法访问,可以看看防火墙或者端口是否被占用。你也可以尝试去映射docekr中的80端口。
映射完成之后就可以通过你本机的ip+端口进行访问了!
二 删除某个镜像
查看全部镜像:
docker images
删除镜像:
docker rmi 755bf1020e02
查看数据:
sudo docker info:显示系统级别的信息,比如容器和镜像的数量等。
docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。
docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。
docker volume ls:列出数据卷。
docker network ls:列出 network。
整体查看占用情况:
docker system df
三 迁移docker
参考:windows docker虚拟磁盘文件迁移ext4.vhdx_@liwenyan@的博客-CSDN博客