docker의 image 는 docker환경을 말하고,
image의 instance가 container이다
container은 만들면 지우기 전까지 존재(stop/ start로 사용) 만들때는 run
이미지/ 컨테이너 확인
$> docker ps
동작중인 컨테이너 목록 확인
$> docker ps -a
정지된 컨테이너 확인
$> docker rm [컨테이너id]
컨테이너 삭제
$> docker rm [컨테이너id1] [컨테이너id2] [컨테이너id3]
복수개 컨테이너 삭제
$> docker images
이미지 확인
$> docker rmi [image id]
이미지 삭제 (복수개 가능 )
$>docker rmi -f [image id]
컨테이너와 이미지의 한꺼번에 강제 삭제
container리스트 보기
$>docker container ls [OPTIONS]
--all , -a Show all containers (default shows just running)
--filter , -f Filter output based on conditions provided
--format Pretty-print containers using a Go template
--last , -n ,default: -1, Show n last created containers (includes all states)
--latest , -l Show the latest created container (includes all states)
--no-trunc Don’t truncate output
--quiet , -q Only display numeric IDs
--size , -s Display total file sizes
실행
컨테이너 생성
-it 옵션은 무조건해야하고 d옵션이 백그라운드 옵션
> docker run -itd [image-id] /bin/bash
그냥 실행하면 root로 실행됨, 개별 사용자권한을 갖게 실행하려면
> docker run -itd -u $(id -u):$(id -g) tensorflow/tensorflow:latest-gpu
단 이렇게 root가 아닌 container은 vscode에 attach하지 못함.
- 볼륨 붙이면서 접속하기
> docker run -itd -v vol-car:/test_folder --name test_cont tensorflow:tensorflow:latest_gpu
vol-car 볼륨을 컨테이너의 test_folder 을 붙이면서 컨테이너 생성
컨테이너 실행
> docker start <container id, or name>
컨테이너 접속
exec 는 해당 컨테이너안에 명령어를 실행하는것
$ docker exec -it [(CONTAINER ID) 혹은 (NAMES)] /bin/bash
이 때, 명령어를 /bin/bash 로 주게되면 도커 컨테이너 안쪽의 bash 쉘이 실행된다.
접속이란게 결국 리눅스의 쉘을 사용하겠다는 뜻이기 때문에, 이런 방식으로 컨테이너에 접속한다
컨테이너 종료
docker stop [option] [container-id]
접속할때 attach 로 접속하면 exit로 종료한다
> docker attach ca0202020123
> exit
컨테이너 안에서 빠져나오기
exit
파일복사
: 컨테이너 -> 로컬
로컬에서 적어준다.
컨테이너안의 /root/data/test.md 을 가져올때
$ docker cp tmp_container:/root/data/test.md ~/data/
파일복사 : 로컬 -> 컨테이너
$ docker cp ~/data/test.md tmp_container:/root/data/
출처
https://itholic.github.io/docker-copy/
참고로 docker 안에 vim이 없음으로
apt-get install vim
설치후
.vimrc에
:colorscheme pable 해주자
'Programming' 카테고리의 다른 글
[vscode] Explorer에서 single click로 fileopen 하고 싶지 않을때 (double click 설정) (0) | 2021.11.25 |
---|---|
[SQL] join (0) | 2020.03.23 |
[python] pythonic 한 코드 쓰기 (0) | 2020.02.26 |
[sql] 구문(where, group by 등)의 실행 순서 (0) | 2020.01.31 |
[sql] select 상위 10개만 출력하기 (0) | 2019.04.01 |