설치
Install Docker Engine on Ubuntu
매번 sudo 명령어를 입력하기 귀찮다면 일반 사용자에게 권한 부여
sudo usermod -aG docker $USER
sudo service docker restart
Docker 정보
이미지 경로 : 리눅스 Docker 저장 위치 확인 및 변경
이미지 전체 용량 확인 : docker system df
이미지 개별 용량 확인 : docker system df -v
Docker 실행
Docker 명령어
docker version
# 전체 컨테이너 목록 조회 :
docker ps -a
# 실행
sudo systemctl start docker
# 종료
sudo systemctl stop docker
# 자동실행 설정
sudo systemctl enable docker
# docker는 기본으로 자동실행이며 특정 컨네이터를 자동실행하고 싶으면 컨테이너 실행시 다음 옵션을 준다.
--restart always
Container 명령어
docker run = docker container run = docker image pull + docker container create + docker container start
#호스트의 8080포트 접근시 컨네이너의 80포트를 연결한다.
#동일 이미지를 여러개 실행하려면 호스트 포트만(필요한 경우 컨테이너 포트도) 달리해서 실행한다.
docker run --name apa000ex2 -d -p 8080:80 httpd
#특정 버전을 지정하고 싶으면 이미지 이름 뒤에 지정한다.
docker run --name apa000ex2 -d -p 8080:80 httpd:2.2
#MySQL 실행하면서 백그라운드로로 실행, 내부 조작가능하게 실행, 루트 패스워드를 지정
docker run --name mysql000ex7 -dit -e MYSQL_ROOT_PASSWORD=myrootpass mysql
#현재 실행중인 컨테이너만 조회
docker ps = docker container ls
#전체 컨네이너 조회
docker ps -a
#중지
docker stop
docker stop = docker container stop
docker stop apa000ex1
#삭제
docker rm
docker rm = docker container rm
docker rm apa000ex1
복합 Container 명령어
# mysql :
docker run --name -dit --net= -e MYSQL_ROOT_PASSWORD= -e MYSQL_DATABASE= -e MYSQL_USER= -e MYSQL_PASSWORD= --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
# wordpress :
docker run --name -dit --net= -p 8085:80 -e WORDPRESS_DB_HOST= -e WORDPRESS_DB_NAME= -e WORDPRESS_DB_USER= -e WORDPRESS_DB_PASSWORD=
Image 명령어
# 목록 조회 :
docker image ls
# 삭제 :
docker image rm
# 삭제 :
docker image rm httpd
# 삭제 :
docker image rm mysql:5.7
Network 명령어
# 생성 :
docker network create wordpress000ex12
# 삭제 :
docker network rm wordpress000ex12
기타 명령어
로그 보기
docker logs
Bind Mount
docker run --name -v HostPath ContainerPath
docker run --name apa000ex20 -d -p 8090:80 -v /home/사용자명/apa_folder:/usr/local/apache2/htdocs httpd
웹서버 권한 오류 발생시 :
chown -R 33:33
Container 조작
docker exec -it /bin/bash
docker exec -it apa000ex23 /bin/bash
exit
파일복사
# Host -> Container :
docker cp HostPath ContainerName:ContainerPath
docker cp /home/사용자명/index.html 컨테이너이름:/usr/local/apache2/htdocs/
# Container -> Host :
docker cp ContainerName:ContainerPath HostPath
docker cp 컨테이너 이름:/usr/local/apache2/htdocs/index.html /home/사용자명/
Docker Compose
설치
# Ubuntu24에서는 기본으로 설치되어 있음
sudo apt install -y python3 python3-pip
sudo pip3 install docker-compose
docker-compose -version
실행
docker-compose -f up -d
docker-compose -f 경로/docker-compose.yml up -d
중지
docker-compose -f stop
종료
docker-compose -f down
docker-compose -f 경로/docker-compose.yml down