도커는 docker, container.. 이름도 잘 짓고 고래 이미지도 참 잘 만든듯
docker container run -it --name "ubuntush" ubuntu bash
--name
: container 이름 뭐라할지,
-it
: i 는 input
. 화면 상에 input
을 받기 위함, t
는 stdout
화면상 출력 d
옵션은 백그라운드에서 실행하게하는 옵션
--restart=always
restart=always 옵션은 run
할 때 마다 매번 해당 이미지로 재시작하라는 옵션
Ctrl +P,Q
docker에서 실행하고 빠져나오는데 실행된 상태 유지시킴 (detach함)
docker container attach ubsh
, docker exec -it mysql57 bash
떠 있는 container에 다시 들어감 (attach)
exit
은 ctrl+D
container를 종료시키고 나옴
docker container stop
container 종료시킴
docker container exec -it (containername) /bin/cat /etc/host
docker container exec -it (containername) cat /etc/host
exec
는 run
중인 container에 명령을 하나 실행함
docker container rename ubuntush ub
rename
옵션은 container 이름 변경해줌. ubuntush -> ub 로.
"docker stop docker ps -q
"
떠 있는 container 들을 다 stop 시킴. docker ps -q
가 실행중인 ps id
들을 반환하기에
--restart=always
: 내가 stop 시키지 않는 이상 계속 떠있도록 만듬
/bin/docker_bash
: /bin/docker_bash
파일을 생성 후,
#!/bin/sh
/etc/init.d/xinetd restart
export LANGUAGE=ko
LC_ALL=ko_KR.UTF-8 bash
생성해놓고 항상 띄울 때 실행되도록 함
docker compose run app bash
: docker compose로 띄우면서 bash에 들어감docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root1! --name mysql57 mysql:5.7
-e
는 환경변수. os가 쓰는 환경변수인거임. mysql 최고관리자의 password, 네이밍, 버전붙이기(중요)
docker exec -it mysql57 bash
들어가기
mysql -u root -p
mysql 세계로 들어감
docker container cp <container-name>:<path> <client-path>
docker container cp <client-file> <container-name>:<path>
$> docker container cp nginxserver:/etc/nginx/nginx.conf .
$> docker container cp ~/.profile ubsh:/home/jade
$> docker run -v <localpath>:<container-path>
-v
가 :
의 왼쪽 오른쪽을 연결함// docker-compose.yml
environment:
- PGUSER=${PGUSER:-totoro}
- PGPASSWORD=${PGPASSWORD:?database password not set}
- PGHOST=${PGHOST:-db}
- PGPORT=${PGPORT:-26257}
- PGDATABASE=${PGDATABASE:-mydb}
- PGPASSWORD=${PGPASSWORD:?database password not set}
password 를 이렇게 주고 .env
에서 password설정이 안되어 있으면
docker-compose config
실행했을 떄 에러발생. docker-compose config
로 제대로 변수 설정이 되었나 확인가능함.
docker commit container_name image_name
: 이미지화 시켜놓음
도커 이미지 올리기