当前位置:   article > 正文

docker-compose简单使用方法_centos7 docker compose.yml 怎么打开

centos7 docker compose.yml 怎么打开

一、前置条件

  1. 安装 docker-compose ,可以参考这篇文章 https://blog.csdn.net/weixin_43721000/article/details/125425947

二、使用方法

1.目录结构

|--mysite						# 根目录
	 |----docker-compose.yml	# 用于部署上线	
	 |----Dockerfile			# 用于打包镜像
	 |----server.py				# 测试服务
  • 1
  • 2
  • 3
  • 4

2.创建测试服务【server.py】

from fastapi import FastAPI

# 创建服务对象
app = FastAPI()

# get --------------------------------
@app.get("/")
async def hello():
    return "hello docker-compose"
# ------------------------------------

if __name__ == '__main__':
    import uvicorn
    uvicorn.run(app="server:app", host="0.0.0.0", port=2333, reload=True)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

ps:一个fastapi服务,访问 ip:2333 会返回 “hello docker-compose”


3.创建 docker 打包文件【Dockerfile】

FROM python:3.7

MAINTAINER ps

WORKDIR /mysite

ADD . /mysite

EXPOSE 2333

# 配置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN pip config set global.index-url https://pypi.douban.com/simple/
# RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
RUN python -m pip install -U pip
# RUN pip install -r ./requirements.txt

RUN pip install uvicorn fastapi

CMD python server.py
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

ps:

  1. FROM :基础镜像
  2. MAINTAINER :指明作者
  3. WORKDIR /mysite :指明工作目录为容器中的 /mysite 目录
  4. ADD . /mysite :当前路径所有文件复制到容器的 /mysite 目录下
  5. EXPOSE 2333 :指明容器中暴露的端口为 2333【此处可省,后面在docker-compose.yml配置了】
  6. RUN :run的三行分别是更新pip、换源、安装 fastapi 依赖包
  7. CMD :服务启动命令

4.创建 compose 部署文件【docker-compose.yml】

version: '3.5'

services:
  mysite:
    image: mysite_image:0.0.1
    container_name: mysite_container
    build: ./
    restart: always
    ports:
      - "2333:2333"
#    volumes:
#	  - /opt/data:/var/lib/mysql 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

ps:

  1. version: ‘3.5’ :指定当前的 compose 版本【compose 版本可以通过 docker-compose --version 命令查看】

  2. services :指定部署哪些服务

  3. mysite :如果不指定下面的 image 参数的话,打包后的镜像名会以 当前文件夹名+下划线+你配置的名称 组合,作为你的镜像名【比如:此处我如果没指定下面的 image 参数的话,我的镜像名就是 文件夹名+下划线+配置名 == mysite_mysite】如果指定了 image 参数的话,那么这里的名字可以随便写,相当于站位符,没啥用了
    ps:但是有一点必须注意,如果一个宿主机存在多个 docker-compose.yml 文件,那么此处的项目名 mysite 不能重复,否则运行 docker-compose up 后,其他同名的容器会被挤掉并直接删除

  4. image: mysite_image:0.0.1 :指定镜像名为 mysite_image 版本号为 0.0.1

  5. container_name: mysite-container :指定启动后的容器名为 mysite-container

  6. build ./ :在当前路径下找 Dockerfile 文件

  7. restart: always :开机自启

  8. ports :端口映射,“宿主机端口:容器端口”

  9. volumes:目录挂载,“宿主机目录:容器目录” 容器目录必须存在


5.启动容器

docker-compose up -d
  • 1

ps:

  1. -d :后台运行
  2. 首次执行时会先打包镜像,在从该镜像启动容器,后续运行则会直接从已存在的镜像启动

6.查看容器

  1. docker ps 查看,如果找不到的话可能启动失败了,试试 docker ps -a 查看全部容器【包括启动成功和失败的所有容器】

三、测试

访问 ip:2333
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/74194
推荐阅读
相关标签
  

闽ICP备14008679号