티스토리 뷰
▷ lotto.py 생성 ( 파이썬 )
import random
lotto=[]
while len(lotto) < 6:
number=random.randint(1,45)
if number not in lotto:
lotto.append(number)
lotto.sort()
print(lotto)
[vagrant@docker1 src]$ python lotto.py
[3, 17, 30, 32, 35, 43]
# 리눅스에서도 가능한 명령어
[vagrant@docker1 src]$ shuf -i 1-45 -n 6
▷ Dockerfile
FROM alpine
RUN apk update
RUN apk add python3
COPY src/lotto.py /tmp
WORKDIR /tmp
ENTRYPOINT ["python"]
CMD ["lotto.py"]
● python 이 아닌 다른 방법으로 실행해보기
>> --- lucky number--- 문구를 넣고 번호 뽑기
▷ lucknumber.sh 를 src / lucknumber.sh 를 생성한다
# 셀 스크립트를 만들어야하는데 . sh 를 잊지말자...
echo "--- lucky numbers ---"
shuf -i 1-45 -n 6
▷ 이제 Dockerfile 을 생성하여 실행한다
FROM alpine
LABEL Maker="It's me"
LABEL Version=1.0
COPY src/lucknumber.sh /tmp/lucknumber.sh
WORKDIR /tmp
CMD ./lucknumber.sh
[vagrant@docker1 work]$ docker run shuf
--- lucky numbers ---
22
25
16
9
42
5
◇ 또는 exec 형식으로도 가능하다
>> exec 형식으로는 셀로 처리를 해줘야 하므로, / bin / sh 를 넣어야 실행이 가능하다
>> - c 옵션은 바이너리 파일이 아니므로 안넣어도 된다
FROM alpine
LABEL Maker="It's me"
LABEL Version=1.0
COPY src/lucknumber.sh /tmp/lucknumber.sh
WORKDIR /tmp
#CMD ./lucknumber.sh
CMD ["/bin/sh","./lucknumber.sh"]
[vagrant@docker1 work]$ docker run shuf
--- lucky numbers ---
14
39
32
20
24
41
◇ 혹은 셀 스크립트에 / bin / sh 를 넣는다면 exec 형식으로 그냥 가능하다
#!/bin/sh
echo "--- lucky numbers ---"
shuf -i 1-45 -n 6
FROM alpine
LABEL Maker="It's me"
LABEL Version=1.0
COPY src/lucknumber.sh /tmp/lucknumber.sh
WORKDIR /tmp
#CMD ./lucknumber.sh
CMD ["./lucknumber.sh"]
[vagrant@docker1 work]$ docker run shuf
--- lucky numbers ---
6
9
26
36
17
34
'Docker 와 Container' 카테고리의 다른 글
Docker registry 배포 (0) | 2024.03.06 |
---|---|
Docker image upload (0) | 2024.03.06 |
Dockerfile - Multi-stage build (0) | 2024.03.05 |
Dockerfile - SCRATCH (0) | 2024.03.05 |
Dockerfile - ONBUILD (0) | 2024.03.05 |