code-server 로컬 환경편(6) DB등을 포함한 MVC 환경을 준비해 보자 (3)

이것은 2019년 code-server에 Advent Calender의 6일째 기사입니다. 이번에도 code-server 란 무엇일까? 하는 것을 해설해 갑니다.

(1) code-server 란 무엇입니까?
(2) Docker로 자신의 코드 서버 환경을 만드십시오.
(3) VSCode Plugin 사용
(4) DB 등을 포함한 MVC 환경을 준비해 보자 (1)
(5) DB 등을 포함한 MVC 환경을 준비해 보자 (2)
(6) DB 등을 포함한 MVC 환경을 준비해 보자 (3)
(7) DB 등을 포함한 MVC 환경을 준비해 보자 (4)
(8) DB 등을 포함한 MVC 환경을 준비해 보자 (5)
(9) DB 등을 포함한 MVC 환경을 준비해 보자 (6)
(10)

(NEXT->) 온라인 환경편 1일차 작업환경 정비

(..) 로컬에서 DB 등의 환경을 포함하여 구축하려면
(..) 온라인에 넣는 방법?
(..) K8S와 같은 최근 유행 환경과 협력하는 방법?
(..) Code-Server를 개조하여 더 잘하고 싶습니다.

마지막 단계에서 db를 실행해 보겠습니다.

이번에 무엇?



Compose File이라면, Docker끼리의 제휴가 편해!!



MySQL DB를 추가해 보겠습니다.



docker-compose.yml
version: '3'
services: 
  app:
    build: ./app
    ports: 
      - 8443:8443
      - 8080:8080
    volumes:
      - ./app:/works/app
    links:
      - mysqld
    command: /works/code-server --allow-http --auth none --port 8443 /works/app
  mysqld:
    image: mysql:5.7
    ports: 
      - "3306:3306"
    environment: 
      MYSQL_ROOT_PASSWORD: passwd
      MYSQL_DATABASE: hello
      #MYSQL_USER: user
      #MYSQL_PASSWORD: password

mysql 용 서비스를 추가했습니다.
- Docker Image를 mysql : 5.7로
- Ports를 3306끼리
- 암호를 passwd로
- links 태그에서 마지막으로 만든 파이썬에서 액세스

라는 구성으로 했습니다.

움직이자!



평소에 명령을 입력하고,
$ docker-compose build
$ docker-compose up -d

브라우저로 액세스해 봅니다.
http://127.0.0.1:8443/

VSCode가 표시됩니다!



Terminal을 열고 mysql client 설치
$ apt-get install -y mariadb-server

mysql 서버에 연결해 봅시다.


root@f80f67f3bcb4:/works/app# mysql -uroot -hmysqld -ppasswd
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show database;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hello              |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.001 sec)

MySQL [(none)]> 

오, 연결되었습니다!



모처럼이므로 Dockerfile에 추가합시다.
FROM python:3.8.0-buster

RUN apt-get update
# code-server を取得するのに wget を install しておく
RUN apt-get install -y wget

# 作業ディレクトリを /works にする。どこでも良いです
WORKDIR /works

# code-server のバイナリーを取得
RUN wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

# code-server を /works 配下に解凍する
RUN tar -xzf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz -C ./ --strip-components 1 

WORKDIR /works/app
ENV PYTHONPATH=/works/app

# python の plugin をインストール 
RUN /works/code-server --install-extension ms-python.python
RUN /usr/local/bin/python -m pip install -U pylint --user

# mysql を Install
RUN apt-get install -y mariadb-server

# デフォルトは、/works/app で起動するようにする。
CMD [ "/works/code-server", "--allow-http", "--auth", "none", "--port", "8443", "/works/app"]


다음 번



PHPMyAdmin을 배포하고 SQL 서버를 초기화합니다.
시도해 봅시다.

PS



출처

좋은 웹페이지 즐겨찾기