728x90
반응형
SMALL
안녕하세요!
프뚜(프로그래머 뚜)입니다!
dockerFile을 통해 image를 생성하고 생성된 이미지를 통해 container를 생성합니다.
Windows는 cmd(powershell), linux는 커널에서 생성 후 build합니다.
/sbin/init 및 systemctl을 사용하기 위해선 아래와 같은 DockerFile이 필요합니다.
[개발 환경]
- OS: windows 10 64bit
DockerFile 생성하기
FROM ubuntu
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Seoul
RUN sed -i 's/kr.archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
RUN apt update \
&& apt install -qq -y init systemd \
&& apt install -qq -y build-essential \
&& apt install -qq -y tzdata \
&& apt install -qq -y vim curl \
&& apt install -qq -y sudo \
&& apt install -qq -y ufw \
&& apt install -qq -y openjdk-8-jdk \
&& apt-get clean autoclean \
&& apt-get autoremove -y \
&& rm -rf /var/lib/{apt,dpkg,cache,log}
CMD ["/sbin/init"]
우분투 마지막 버전의 image(ubuntu:last)를 가져옵니다. 최소한의 필요한 라이브러리들을 설치 및 설정합니다.
파일명은 dockerFile로 저장합니다.
DockerFile Build 하기
# 2022.11.14[프뚜]: 이미지명과 dockerFile이 있는 경로를 지정
docker build -t [image명] -f [절대경로] .
ex) docker build -t pddu -f "C:\Program Files\Docker" .
정상적으로 image가 생성되었습니다.
dockerFile를 이용한 ssjeong 이미지가 생성되었습니다.
만들어진 image로 컨테이너 생성하기
# linux
docker run -d -it \
-p 80:80 \
-e LC_ALL=ko_KR.UTF-8 \
--privileged \
-v D:\WS\docker:/data \
-u root \
--name="test" \
ssjeong /sbin/init
# windows
docker run -d -it -p 80:80 -e LC_ALL=ko_KR.UTF-8 --privileged -v D:\WS\docker:/data -u root --name="test" ssjeong /sbin/init
옵션에 대한 자세한 내용은 링크를 통해 확인하시면 됩니다.
728x90
반응형
LIST
'프로그램 > DOCKER' 카테고리의 다른 글
[Docker] MariaDB 설치 및 세팅하기 (MySQL) (0) | 2023.01.16 |
---|---|
[docker] docker image를 github에 공유 및 배포하기 (0) | 2022.12.07 |
[Docker] Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (0) | 2022.10.09 |
[Docker] /var/run/docker.sock의 permission denied 발생하는 경우 (1) | 2022.10.08 |
[Docker] run 옵션 종류 및 컨테이너 생성하기 (1) | 2022.07.25 |