前言


一、Docker是什么?

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

二、使用方法

下面演示使用Docker进行python web项目部署

1.导出依赖包

代码如下(示例):

pip3 freeze > requirements.txt

2.准备项目文件

项目的文件结构(示例):

FastapiApp  
    ├── requirements.txt
    ├── Dockerfile
    └── app
        └── app.py
        └── <other .py files>

二、创建Dockerfile

1.构建docker镜像

编写配置文件

vim /etc/docker/daemon.json
{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

构建镜像配置文件

FROM ubuntu:16.04

MAINTAINER hhz "qqvip000000@163.com"

RUN apt-get update -y && \  
    apt-get install -y python3-pip python3-dev

COPY ./requirements.txt /requirements.txt

WORKDIR /

RUN python3 -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

COPY . /

ENTRYPOINT [ "python3" ]

CMD [ "app/app.py" ] 
docker build -t docker-fastapi:0.1 .

构建成功

2.调式模式运行

docker run --name wxapp -v $PWD/app:/DockerApp docker-fastapi:0.1 /DockerApp/app.py

总结

Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。以上就是今天要讲的内容,本文仅仅简单介绍了docker的使用。

附 docker 常用命令

查看所有镜像

docker images

拉取镜像

docker pull ubuntu

删除镜像

docker rmi <镜像名称>

启动docker

systemctl start docker

查看所有的容器

docker ps -a

启动一个容器

docker run -itd --name <容器名称> <镜像名称>:<TAG版本号> /bin/bash

停止一个容器

docker stop <容器 ID>

停止所有容器

docker stop $(docker ps -a -q)

删除所有容器

docker rm $(docker ps -a -q)

交互式界面进入容器

docker exec -it <容器 ID> /bin/bash
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐