728x90
반응형
Trouble Shoot
cgroup 사용하기
- 안 된다
- cgroup은 리눅스 커널 모듈이므로 M1 Mac은 커널이 Centos와 다르기 때문에 안된다고 한다.
- cgroup 이 안 되니 당연히 /sys/fs/cgroup를 docker로 마운트해서 사용하는 것도 불가능하다.
Centos 내부에서 systemctl을 사용하기 위한 모듈 설치
- 안 된다
- 6~7 버전을 시험삼아 사용할 때 yum으로 dbus와 systemd 모듈을 설치 후 시도했지만 실패함
Intel Chip 기반에서는?
- Intel Chip 기반 맥이 없어서 모르겠다
How To ?
- 환경
- M1 Mac Monterey 기반에서 테스트
- 다음과 같은 항목을 이용하여 docker에 nginx를 올리고 nginx에 reverse proxy를 이용해 django 프로젝트와 연결하려 했음
- docker
- docker-compose
- Dockerfile(dockerfile)
- 결론
- centos:latest 이미지를 사용하면 된다
- centos:latest 이미지는 centos 8 버전을 사용하고 있기 때문에 추가적인 설정들이 필요했는데 아래 내용은 그 설정에 대한 내용들이다
docker
- docker pull centos:latest
Dockerfile
FROM centos:latest
ENTRYPOINT ["/usr/sbin/init"]
# Docker 기준 centos8(centos:latest)에서 저장소를 변경시켜줘야함
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
RUN yum search wget
RUN yum install -y wget
RUN yum install -y mysql-devel python3-devel net-tools
RUN yum install -y gcc make gcc-c++ openssl-devel libffi-devel bzip2-devel
WORKDIR /usr/local
RUN wget https://python.org/ftp/python/3.8.2/Python-3.8.2.tgz
RUN tar xzf Python-3.8.2.tgz
WORKDIR /usr/local/Python-3.8.2
RUN ./configure --enable-optimizations
RUN make && make install
RUN source ~/.bashrc
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install setuptools-rust
WORKDIR /usr/src/app
COPY . .
RUN python3 -m pip install -r requirements.txt
- Python에서 from future import annotation을 쓰는 경우 yum install python3을 설치하게 되면 3.6.8이 설치된다. 그러니 따로 소스 컴파일로 설치해주자
Docker-Compose.yml
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "3600:3600"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on: # django가 먼저 올라간 뒤 실행
- django-was
django:
privileged: true # docker-compose 에서는 이 옵션을 통해서 container가 systemctl 을 사용할 수 있는 권한을 준다고 한다.
build:
context: .
expose: # django 프로젝트를 컨테이너 내부에서 여러 포트로 노출 시킬 떄
- "9001"
- "9002"
- "9003"
728x90
반응형
'ETC > Dockerizing' 카테고리의 다른 글
[Docker] Docker에서 MySQL 사용 시 참고할 부분들 (0) | 2023.08.20 |
---|---|
[Docker] MySQL Container에 스크립트 파일 실행하기 (0) | 2022.03.07 |
[Docker] Docker에 관련된 여러가지 삽질 (0) | 2021.02.11 |