关于Docker的使用
简介
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux等系统中。
docker
制作镜像
- 在要制作镜像的项目根目录编写
Dockerfile
: - 通过FROM关键词,例如我需要一个python3.10的环境:
1 | FROM python:3.10 |
- 我们只需要在Dockerfile里面编写如上的代码,就能够拉取到一个python3.10的环境。
- 其他的环境可以通过docker search 来进行搜索。
-这是第一步。
- 下一步可以定一个根目录。
1 | WORKDIR /app |
- WORKDIR的意思就是让后面的路径成为根路径,注意,这里的路径是docker里面的路径。
- 然后,我们就会把代码或者是编译完成之后的运行文件COPY到docker当中
1 | COPY . . |
- 上面就是COPY+本地路径 +docker中的路径
- 也就是本机当前路径文件,拷贝到docker中的路径中。
- 在Python中,我们还需要去安装一些Python库,所以你可能还需要这个操作:
1 | RUN pip install -r requirements.txt |
- RUN 后面接的就是一个命令行。
- 安装完成之后,如果需要暴露端口
1 | EXPOSE 80 |
- 这样能够让我们后续将docker中的端口和本机中的端口进行映射,从而我们可以通过本机ip+端口来进行访问操作。
- 最后一步就是运行。
- 在Python中我们直接运行Python即可。
1 | CMD ["python","main.py"] |
例:打包QPDBot的代码
1 | FROM python:3.10 |
打包镜像
- 编写完dockerfile,一般放在需要打包的地方的根路径,然后直接运行以下命令创建镜像:
1 | docker build -t image_name . |
- 运行之后,docker会自动完成dockerfile里面的每一个步骤。
- 打包完成后,我们就可以看到image了。
- 使用
docker images
命令查看镜像。
创建容器
- 使用以下命令创建容器,例如此处创建qpdbot
1 | docker run --name=QPDBot -d -v /path/to/config:/app/config rjxinsi/qpdbot:latest |
发布镜像
1 | # 如果没有登录,先登录 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XinSi,Yes~!
评论