BackEnd★★★/Docker도커&Cloud기타
Docker❤️명령어 정리❤️command
내인생PLUS
2022. 2. 6. 09:14
728x90
#Homedir: 사용자/.docker
MacOS M1 pro 기준 우측 상단 도커 아이콘 클릭 후DashBoard를 활용을 많이 하자
# docker run -d -p 80:80 docker/getting-started
docker run -d -p 80:80 docker/getting-started
// VSCODE라이브 서버처럼 내 PC에서 인터넷 환경처럼 돌려주기 시작!!
# docker ps
docker ps
# docker stop relaxed_black
docker stop relaxed_black
// 서버 멈추기 docker ps 쳐서 NAMES를 쳐 주면됨."relaxed_black"은 다른 이름이 될 수도 있음.!!
# docker ps
docker ps
// 살아있는 서버 확인
# docker ps -a
docker ps -a
// 서버 죽은거 다시 확인
총 정리!!!
# docker --version
docker --version
// =버전체크
# docker version
docker version
// 더 자세히 버젼들 나옴. 여러개
# docker info
docker info
# docker --help
docker --help
-------------test----------------
# docker run hello-world
docker run hello-world
--------------------------------------------
------실전-----------------------------
# docker start crazy_ptolemy
docker start crazy_ptolemy
// crazy_ptolemy 라는 이름으로 도커 시작하기
# docker ps
docker ps
//지금 실행되는 도커 사용자(도커에서는 image라고 표현함) 보기
// up 5 secs 이렇게 표시 시작 시간이 5초 지났다는 표현
# docker ps -a
docker ps -a
// 종료된 사용자 까지 다 봄. history같은거
# docker stop crazy_ptolemy
docker stop crazy_ptolemy
// crazy_ptolemy 사용자(이미지) 종료
# docker ps
docker ps
// 잘 종료 됬는지 확인하기 crazy_ptolemy가 없으면 성공적으로 stop된거임.
# docker ps -a
docker ps -a
// 과거 사용 기록 까지 다 확인 가능 Exited (0) 1 minutes ago 이렇게 표시
# docker rm crazy_ptolemy
docker rm crazy_ptolemy
// crazy_ptolemy 사용자(이미지) 삭제
# docker ps -a
docker ps -a
// 과거 기록조차 다 삭제됨. 무서운 rm
# docker images
docker images
//등록된 이미지를(사용자)를 볼 수 있음. 사용자 계정같은 느낌!!
# docker run -p 8080:80 --name hello -d hello-world
docker run -p 8080:80 --name hello -d hello-world
// images에 있던 박제 되었던 계정이 docker start 해주는 명령어
// 오.. 신기.. 죽은게 살아나는 기분!!
//크롬 열고
//홈페이지 창에
localhost:8080
// Hello DokerCon! 이 보인다. 신기 --
# docker stop hello
docker stop hello
// hello사용자를 stop 시킴
# docker ps
docker ps
// stop 시킨 사용자를 나오지 않음
# docker ps -a
docker ps -a
// Names를 잘 봐야함. 그걸로 start stop //docker run -p 어쩌구저쩌구 사용가능함.
// NAMES 가 중요하구만!!!
# docker logs hello
docker logs hello
// hello의 Port번호와 stopping server... 이렇게 확인 가능함. 뒷조사네 ㅋㅋ
# docker logs --help
docker logs --help
// 도움말 ㅋ
# docker logs -f hello
docker logs -f hello
// 죽은자가 살아나는 기적이 ㅋㅋㅋㅋ hello 살아남.
# docker ps
docker ps
// hello 살아난걸 확인했으니 stop 시키자
# docker stop helllo
docker stop helllo
// stop 시키기
-----------------서버 구축 풀스택으로 구축하기------------
# docker build -t hello-world .
docker build -t hello-world .
//맨 뒤에 . 점 하나 잊지 말자.!!
// 프로그램 빌드랑 비슷 이거하면 이제 서버구축할 여러개가 설치된다. 4~9개정도.....
// 풀스택으로 서버구축하느거인
# docker run hello-world
docker run hello-world
// 드디어 사건이 터짐. 풀스텍 시작
------깃허브처럼 레포지토리 만들어주고--------------------
https://hub.docker.com/
-------죽이는 기능 ㅋㅋ--------------------------------
# docker tag hello-world pmckee/hello-world
docker tag hello-world pmckee/hello-world
# docker images
docker images
// 이거 하면 홈페이지에서 레포지토리 해준 pmckee/hello-world가 만들어져 있다. 소름.!!
# docker push pmckee/hello-world
docker push pmckee/hello-world
// 깃허브 푸쉬해주는거랑 똑같네 ㅎㅎㅎ 죽인다!!
# docker rmi pmckee/hello-world
docker rmi pmckee/hello-world
// 깃허브같이 허드도커 이미지를 지워 주자 내 하드 용량을 지키자 .ㅜㅜ
# docker pull pmckee/hello-world
docker pull pmckee/hello-world
// 자료 받기 깃허브랑 똑같네 ㅋㅋㅋ
# docker images
docker images
// 삭제한 pmckee부활... 거의 좀비수준.ㅋㅋㅋ
-----------
docker-compose.yml
version: '2'
services:
web:
build:
context:
dockerfile: Dockerfile
container_name:web
ports:
- "8080:80"
-------------------------
# ll
ll
// ls 같은 기능 도스 dir처럼 밑으로 쭈르륵
# docker-compose up -d
docker-compose up -d
// 이거 하니 docker-hello-world_web / node 혹이 잔뜩 생겼다. (images가 너무 많아졌음. ㅠㅠ)
# docker ps
docker ps
// web(NAMES)이름을 가진 서버가 돌아가고 있다 ..역시 뭔가 거대한 이미지가 돌아가고 있다.
크롬에서
localhost:8080
하니 서버가 돌아가는것을 확인!!
# docker-compose down
docker-compose down
// 이제 서버를 내리자 ㅠㅠ
--------------------------------------
# docker-compose down --rmi all
docker-compose down --rmi all
// 묻지도 따지지도 않고 다 내려 다 꺼져!!!!
--------------------------------------
# docker ps
docker ps
// 아무것도 돌아가는게 없음 확인!!
# docker ps -a
docker ps -a
// history까지 다 삭제됨.
-----------
docker-compose.yml
version: '2'
services:
web:
build:
context:
dockerfile: Dockerfile
container_name:web
ports:
- "8080:80"
db:
image:mongo:3.6.1
container_name: db
volumes:
- mongodb:/data/db
- mongodb_config:/data/configdb
ports:
- 27017:27017
command: mongod
volumes:
mongodb:
mongodb_config:
-------------------------
# docker-compose up -d
docker-compose up -d
// 몽고db가 추가 되어서 열심히 pull 되는중!!!
# docker ps
docker ps
// web& db가 사이 좋게 이미지에서 보인다.
—
# docker run ubuntu
docker run ubuntu
// 우분투 설치
# docker ps -a
docker ps -a
// 우분투가 command /bin/bash에 설치 된 모습 확인
# docker run -it ubuntu
docker run -it ubuntu
// 우분트 쉘이 실행됨.
—우분트쉘에서 실행————
# echo hello
hello
# whoami
root
# echo $0
/bin/bash
# history
1*
2 whoami
3 echo $0
4 history
# !2
whoami
root
# apt install nano
# apt update
# apt list
# nano
-> 에디터 나옴. ㅠㅠ
# apt remove nano
# pwd
/
# ls
dir처럼 폴더랑 쭉 나옴.
# ls -l
파일 권한하고 용량 시간 아주 자세히 나옴.
# more /etc/adduser .conf
뭔가 길게 나옴. more 화면이 15% 30% 이렇게 나와서 문서 스크롤 진행
# apt install less
# less /etc/adduser .conf
파일을 내가 원하는 데로 up, down가능
# head -n /et/adduser.conf
위에 5줄만 봄 . 빠르게 문서 체크할 때 씀.
# tail -n /et/adduser.conf
마지막 5줄만 봄 . 빠르게 문서 체크할 때 씀.
# cat
문서 볼때 쓰는 명령어 수정은 안되고 거의 print수준
# cat file1.txt file2.txt > combined.txt
문서 하나로 합치기? 죽이네 ㅎㅎ
# echo hello
hello
# echo hello > hello.txt
# ls
combined.txt file1.txt file2.txt hello.txt
# cat hello.txt
hello
# ls -l /etc > files.txt
# cat files.txt
폴더가 txt파일로 바뀌었음. ㅎㅎ 최고~!!
# >
이건 input
C++언어는 >> 이거 2개인데 거의 똑같음.ㅎㅎ
# <
output
C++언어는 << 이거 2개인데 거의 똑같음.ㅎㅎ
——————————————
알아봐야하는 명령어 공부 중
docker-machine ls
docker system info
Doker Documentation
출처:
https://www.youtube.com/watch?v=iqqDU2crIEQ&t=31s
출처
https://youtu.be/gBdGTQUsTDY
다른 출처 2021버젼
https://www.youtube.com/watch?v=pTFZFxd4hOI
docker-compose down --rmi all
//전체 모든 서버 내리기!!
https://docs.docker.com/compose/reference/down/
반응형