Docker快速入门
2023-12-13 06:09:57
- Docker 是一个应用打包、分发、部署的工具。需要理解三个重要概念,Dockerfile,Image/镜像,Container/容器。Dockerfile用来创建Image的自动化脚本。Image可以理解为Container的模板或者类。Container是Image的实例,是运行在主机上的应用环境。
- 在应用的根目录下创建一个
Dockerfile
文件:FROM python:3.8-slim-buster #指定一个基础镜像,可查阅dockerhub WORKDIR /app #指定之后所有Docker命令的工作路径 COPY . . #将当前目录下所有的程序拷贝到Docker镜像中 RUN pip install -r requirement.txt #允许在创建镜像时运行所有的shell命令 CMD ["python3", "app.py"] #指定当Docker容器运行起来后要执行的命令
- 创建镜像:
docker build -t my-finace . #-t:tag/标签 ;.:在当前目录下寻找dockerfile
- 创建容器:
docker run -p 80:5000 -d my-finace #-p:将5000容器端口映射到80主机端口;-d:让容器在后台运行
- 命令集
- 列举所有容器:
docker ps
- 启动容器:
docker start <容器ID>
- 停止容器:
docker stop <容器ID>
- 重启容器:
docker restart <容器ID>
- 删除容器:
docker rm <容器ID>
- 启动一个远程Shell:
docker exec -it <容器ID> /bin/bash
- 列举所有容器:
- 数据持久化
- 创建数据卷:
docker volume create my-finance-data
- 数据卷挂载:
docker run -dp 80:5000 -v my-finance-data:/etc/finance my-finance
- 创建数据卷:
- 多容器协同
- 创建
docker-compose.yml
文件:version: "3" service: web: build: . ports: -"80:5000" db: image: "mysql" enviroment: MYSQL_DATABASE: finance-db MYSQL_ROOT_PASSWORD: secret volumes: - my-finance-data:/var/lib/mysql volumes: my-finance-data:
- 运行所有容器:
docker compose up -d
- 停止并删除所有容器:
docker compose down (--volumes)
- 创建
- Reference
文章来源:https://blog.csdn.net/LogosTR_/article/details/134864559
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!