首页 > 其他分享 >docker start a web container

docker start a web container

时间:2022-10-09 14:34:53浏览次数:43  
标签:web container redis project start directory docker your

docker start a web container

Step 1: Setup

Define the application dependencies.

  1. Create a directory for the project:

    mkdir web
    cd web
    
  2. Create a file called app.py in your project directory and paste this in:

    import time
    
    import redis
    from flask import Flask
    
    app = Flask(__name__)
    cache = redis.Redis(host='redis', port=6379)
    
    def get_hit_count():
        retries = 5
        while True:
            try:
                return cache.incr('hits')
            except redis.exceptions.ConnectionError as exc:
                if retries == 0:
                    raise exc
                retries -= 1
                time.sleep(0.5)
    
    @app.route('/')
    def hello():
        count = get_hit_count()
        return 'Hello World! I have been seen {} times.\n'.format(count)
    
  3. Create another file called requirements.txt in your project directory and paste this in:

    flask
    redis
    

Step 2: Create a Dockerfile

In this step, you write a Dockerfile that builds a Docker image. The image contains all the dependencies the Python application requires, including Python itself.

In your project directory, create a file named Dockerfile and paste the following:

# syntax=docker/dockerfile:1
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD ["flask", "run"]

Step 3: Define services in a Compose file

Create a file called docker-compose.yml in your project directory and paste the following:

version: "3.9"
services:
  web:
    build: .
    ports:
      - "8000:5000"
  redis:
    image: "redis:alpine"

Step 4: Build and run your app with Compose

From your project directory, start up your application by running docker compose up.

标签:web,container,redis,project,start,directory,docker,your
From: https://www.cnblogs.com/jalivv/p/16771987.html

相关文章

  • docker常用命令
    镜像命令1.启动类命令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestartdocker查看docker状态:systemctlstatusd......
  • 重温 Docker 分享+相关讲解视频
     之前学过 Docker 相关的知识,只是长时间没用,基本都给忘了。这几天重温一下,好好学习一下虚拟化技术。docker k8s ## 分享一个不错的系统学习Docker 的视频 这是我......
  • 记录Linux下启动docker中Mysql,并进入mysql。
    1.启动dockersystemctlstartdocker  2.查看docker容器启动信息,并找到mysql容器  3.使用进程名启动mysql:dockerstartmysql-test;也可以使用进程id启动:docker......
  • docker jenkins升级以及失败处理
    一、概述jenkins是由docker安装的,目前的jenkins版本为2.356。然后jenkins右上角提示版本升级 点击了升级,升级完成后,需要重启一下。然后就芭比Q了,访问jenkins出现504......
  • 一份最好的Docker 安装教程
    ## 到开源的社区的怀抱中去 阿里云社区,给我们提供非常多的教程,都是最专业的人。 ## 不复制粘贴了,放一个安装教程的链接过来​​https://yq.aliyun.com/articles/110......
  • docker 学习总结
     不扯官方锁说的那一套东西。 就谈谈我自己的感受。 ## 会docker 相关的命令 ##最简单的操作 能开始操作docker   简单的一点的就是拉镜像,然后再运行容器。 ......
  • Docker 将镜像推到阿里云
    ## 查看要上传的镜像 docker  images   ## 在阿里云上创建一下 ......
  • Docker Desktop 可以直接启用Kubernetes 1.25 了
    作为目前事实上的容器编排系统标准,K8s无疑是现代云原生应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个K8s的环境,DockerDesktop自带了Kubernetes服务,但是在......
  • Docker学习(一)基础知识
    Docker容器解决了开发环境和运维环境配置不同的问题,对此给出了一个标准化的解决方案——系统平滑移植,容易虚拟化技术。实现跨屏题啊的无缝接轨,“一次镜像,处处运行”。Dock......
  • Docker | 部署nginx服务
    容器时相互隔离的,docker启动的nginx是容器内的服务,不影响我原先服务器上的nginx服务,小伙伴们可大胆尝试......