Docker
前言部署应用管理多个容器Docker Command❌查询版本显示连接错误❌WSL 2 installation is incomplete. 参考文献
Docker前言【官网地址】:Empowering App Development for Developers | Docker
【开源地址】:Docker (github.com)
【镜像地址】:Explore Docker’s Container Image Repository | Docker Hub
【官方文档】:Docker documentation
开源的应用容器引擎
Dockerfile
Docker自动化脚本,通过它可以自动化配置容器和安装镜像。
Image
Docker镜像,部署的应用程序以及它所关联的所有库或软件,可以用于创建容器Container。
Container
Docker容器,运行Image部署的应用程序的容器。
Volumes
数据卷,使容器之间的数据可以同步到本地服务中。
开发者可以通过它打包他们的应用和依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口。
它不会去模拟底层的硬件,只为一个应用提供完全隔离的运行环境,可以在环境中配置不同的工具软件,并且不同环境之间相互不影响。
部署应用创建Dockerfile
通过FROM指定基础镜像
# python 镜像应用 3.8-slim-buster 版本号 FROM python:3.8-slim-buster
通过WORKDIR指定之后命令默认工作路径
WORKDIR /app
通过COPY将所有的程序拷贝到Docker镜像中
# 目标路径 . 代表WORKDIR指定的默认工作路径 # 本地路径 . 代表程序根目录下所有的文件 COPY . . # COPY <本地路径> <目标路径>
通过RUN运行任意的shell command
RUN pip3 install -r requirements.txt
通过CMD指定Docker容器运行后要执行的命令
CMD ["python3", "app.py"] # CMD ["可执行文件", "参数1", "参数2" ...]
使用docker build创建镜像
docker build -t my-finance . # -t 指定镜像名字 # . 指定Dockerfile在当前目录下
创建Volume
docker volume create my-finance-data # docker volume create <容器名称>
使用docker run启动容器
docker run -p 80:5000 -d my-finance # -p 将容器的端口映射到本机主机上 # 80 本机端口 # 5000 容器端口 # -d 容器后台运行 # -v 指定volume挂载到容器哪个路径 -v my-finance-data:/etc/finance
创建docker-compose.yml
通过services定义多个容器
version: "3",
services:
web:
build: .
ports:
- "80:5000"
db:
image: "mysql"
environment:
MYSQL_DATAbase: finance-db
MYSQL_ROOT_PASSWORD: secret
volumes:
- my-finance-data:/var/lib/mysql
volumes:
my-finance-data: {}
使用docker bulid创建镜像
列举所有的容器:docker ps停止容器:docker stop <容器 ID>重启容器:docker restart <容器 ID>删除容器:docker rm <容器 ID>启动并运行所有容器:docker compose up [-d]停止并删除所有容器:docker compose down [--volumes]启动远程Shell:docker exec -it <容器 ID> /bin/bash创建数据卷:docker volume create <数据卷名称>打印日志:docker logs ❌查询版本显示连接错误
docker version
error during connect: This error may indicate that the docker daemon is not running.
Docker Desktop 运行错误 ❌WSL 2 installation is incomplete.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gAB8LxlN-1643620105431)(image-20220130223813417.png)]
更新WSL2版本【下载】 参考文献
- Docker 10分钟快速入门_哔哩哔哩_bilibili



