본문 바로가기
Cloud

docker compose 실습 ubuntu

by tankwoong 2023. 10. 4.
반응형

간단한 실습

nano index.html

nano docker-compose.yml

wordpress

nano docker-compose.yml
version: '3.3'

services:
  db:   
    image: mysql:5.7
    volumes:                     
      - db_data:/var/lib/mysql   
    environment:                      
      MYSQL_ROOT_PASSWORD: somewordpress              
      MYSQL_DATABASE: wordpress    
      MYSQL_USER: wordpress        
      MYSQL_PASSWORD: wordpress

  wordpress:
    image: wordpress:latest
    ports:
      - "60000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306  
      WORDPRESS_DB_USER: wordpress   
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

volumes:
    db_data: { }

wordpress가입하기

한국어로 지정 

워드프레스 설치 

설정창 나옴

외부에서 접속하면 블로그로 나옴  

프로젝트 디렉터리를 만들기 

mkdir /home/ubuntu/dockertest
cd /home/ubuntu/dockertest

app.py 만들기

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)

 requirement.txt 만들기 

Dockerfile만들기

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"]

yml파일 만들기 

클릭 여러번 하면 횟수가 증가하고 ubuntu에 기록되는 것을 알 수 있다.

다운 시켰다가 다시 키면 초기화가 된다.

 

반응형