-
docker image 만들기docker 2021. 6. 1. 22:59
1. Dockerfile, app.py 를 준비
https://github.com/mmumshad/simple-webapp-flask 을 참고해
- Dockerfile
FROM ubuntu:18.04 ENV TZ=Asia/Seoul ENV LANG=ko_KR.UTF-8 # ENV PATH="${PATH}:/home/windbird/.local/bin" # USER irteam # ADD --chown=irteam:irteam ./server/target/universal/stage /app/ RUN apt-get update && apt-get install -y python python-pip RUN pip install --upgrade pip && pip install flask COPY app.py /opt/ ENTRYPOINT FLASK_APP=/opt/app.py flask run \ --host=0.0.0.0 \ --port=8080
- app.py
import os from flask import Flask app = Flask(__name__) @app.route("/") def main(): return "Welcome!" @app.route('/how are you') def hello(): return 'I am good, how about you?' if __name__ == "__main__": app.run(host="0.0.0.0", port=8080)
2. build 되는지 테스트 (Dockerfile 과 app.py 가 있는 디렉토리에서)
docker build .
혹은 docker build -f Dockerfile .
3. tag 붙이기
docker build . -t my-org/my-web-app
삭제할 때는 docker rmi my-org/my-web-app
tag 이름을 변경할 때는 docker image tag my-org/my-web-app my-org/my-web-app2
4. 생성된 docker image 확인하기
docker images
5. docker run
docker run -p 8080:8080 my-org/my-web-app
브라우저에서 http://myhost.com:8080/ 확인
6. docker registry 등록을 위해 로그인
docker login
docker registry 주소를 명시한다면 docker login reg.xxx.com -u username
7. docker push
docker push my-org/my-web-app
8. Dockerfile (shell script 실행하기)
USER windbird ADD --chown=windbird:windbird ./docker/setup.sh /app RUN chmod u+x setup.sh RUN ./setup.sh
'docker' 카테고리의 다른 글
docker 로 kafka 설치 (0) 2021.12.22 docker 로 mysql 설치하고 접속하기 (0) 2021.11.07 docker 로 postgresql 설치하고 접속하기 (0) 2021.11.07 docker container 에서 zombie 프로세스 발생 문제 (0) 2021.10.14 동일한 docker image 를 사용했는데 실행 결과가 다르다? (0) 2021.07.31 - Dockerfile