alpine linux 이미지를 다운받아서 컨테이너를 만든다
python 테스트용으로 사용할 컨테이너 이름을 python이라고 이름짓는다
● alpine docker 이미지를 다운 받는다
# docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
외부에서 컨테이너로 FTP 접속을 위해서 호스트 디렉토리에 FTP 디렉토리를 설정한다
호스트와 컨테이너는 FTP 디렉토리를 공유함으로써
직접 컨테이너에 올리는것과 같은 의미를 가진다.
호스트의 /home/ftpRoot/프로젝트명 을 컨테이너의 /home/fileRoot/프로젝트명과 연동시킨다
호스트의 FTP에 올린 파일은 컨테이너에서 바로 공유가 된다
( 이를 위해서 vsFtpd container 를 사용함, https://knsesang2000.tistory.com/7 )
도커 이미지가 삭제가 되더라도
컨테이너에서 작업했던 파일은 모두 살아있게 된다 ( 실제로는 호스트 디렉토리에 있으므로 )
인터넷IP = 호스트IP → 컨테이너 ( 호스트_포트 ≠ 컨테이너_포트 )
인터넷과 통신이 이루어지는 포트는
외부에 보여지는 호스트의 포트이며 이를 통해서 통신이 이루어진다.
-p 17180 : 80
인터넷 ← Alpine Host : 17180 port
Alpine Host ← 컨테이너 : 80 port
보통 컨테이너 포트는 기본포트로 설정되며 ( 80, 1433, 3306....)
호스트는 외부IP의 포트번호를 공유한다
docker run -itd
-v 호스트_공유_디렉토리_경로:컨테이너_공유_디렉토리_경로
-p 호스트_Port:컨테이너_Port
--name 새_도커_컨테이너_이름 ( docker ps 할때 보여지는 이름 )
--hostname 도커_컨테이너_컴퓨터_이름 ( 컨테이너 안으로 들어갈때 보이는 프롬프트 이름 )
도커_이미지_원본_이름
-itd : 백그라운드로 실행, 나중에 터미널로 들어가겠음
만약 d 옵션없이 docker run -it 를 한다면
바로 컨테이너 안으로 들어가서 프롬프트가 나타난다
컨테이너 #
● 도커 컨테이너 만들기 ( ex. 파이썬 컨테이너 )
# docker run -itd \
-v /home/ftpRoot:/home/webRoot \
-p 64380-64381:80-81 \
--name python38 \
--hostname docker_python38 \
alpine
● 컨테이너 안으로 들어가기
# docker attach python38
● 레포지토리 설정
기본 구성에 자신의 지역에서 빠른 미러서버를 추가한다.
기본 alpine 서버로만 하면 최신 패키지 다운에 문제가 있을수 있다.
py3-pandas 패키지도 설치가 안되는 문제가 있음.
컨테이너 # vi /etc/apk/repositories
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://sjc.edge.kernel.org/alpine/edge/main
http://sjc.edge.kernel.org/alpine/edge/community
● 리눅스 업데이트
컨테이너 # apk update
● 리눅스 업그레이드
컨테이너 # apk upgrade
'리눅스 > ALPINE 리눅스' 카테고리의 다른 글
* alpine linux nodejs container : nodejs 컨테이너 만들기 (0) | 2020.09.09 |
---|---|
알파인리눅스 : hostname 호스트이름 (1) | 2020.09.08 |
* alpine linux putty ssh / putty 로그인 불가능 (1) | 2020.09.07 |
alpine linux install - root ( v3.17기준 ) (0) | 2020.09.07 |
* alpine linux setting, 알파인 리눅스 세팅 (0) | 2020.09.06 |