Docker
- http://docker.io
- Build, Ship, Run
- κ°λ°μμ μμ€ν
μ΄λλ―Όμ μν λΆμ° μ ν리μΌμ΄μ
μ© μ€ν νλ«νΌ
Install
Basic keywords
docker version
docker ps
docker info
docker images
docker container ls
docker container ls -a
docker run hello-world
- docker : μμ€ν
μ μλ docker μ¬μ©
- run : μλΈλͺ
λ Ή, 컨ν
μ΄λ μ€ν
- hello-world : 컨ν
μ΄λμ μ€μ μ΄λ―Έμ§ μ΄λ¦
- 컨ν
μ΄λλ μ무κ²λ κΎΈλ―Έμ§ μμ λ²μ μ 리λ
μ€ μ΄μ체μ
- κ³ λκ°λΌμ¬λ
- docker hub μ΄λ―Έμ§ μ 보
- ν¬ν¨ν μννΈμ¨μ΄ μ’
λ₯μ μ¬μ©λ²
docker run -it -p 80:80 docker/getting-started
- stop
β ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
92d58318f84e nginx "nginx -g 'daemon off" 27 hours ago Up 27 hours 0.0.0.0:80->80/tcp, 443/tcp webserver
0235bd537f03 nginx "nginx -g 'daemon off" 27 hours ago Up 27 hours 80/tcp, 443/tcp boring_hypatia
β ~ docker stop nginx
Error response from daemon: No such container: nginx
β ~ docker stop 92d58318f84e
92d58318f84e
μ€νμ€μΈ λ컀 μ μ
docker exec -it 92d58318f84e /bin/bash
μ΄λ―Έμ§ λΆλ¬μ€κΈ°
컨ν
μ΄λ μ 체 μμ
docker ps -aq
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
μ΄λ―Έμ§ λ§λ€κΈ°
# syntax=docker/dockerfile:1
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000
docker build -t getting-started .
docker run -p 4000:80 getting-started
curl localhost:4000
docker tag getting-started kenu/get-started:part2
μ΄λ―Έμ§ μ
λ‘λ
docker push kenu/get-started:part2
μ격 μ΄λ―Έμ§ λ‘컬μμ μ€ν
docker run -p 4000:80 kenu/get-started:part2
curl localhost:4000
μ
λ‘λ μ΄λ―Έμ§ μμ
export USERNAME=myuser
export PASSWORD=mypass
export ORGANIZATION=myorg (if it's personal, then it's your username)
export REPOSITORY=myrepo
export TAG=latest
curl -u $USERNAME:$PASSWORD -X "DELETE" https://cloud.docker.com/v2/repositories/$ORGANIZATION/$REPOSITORY/tags/$TAG/
λ€νΈμν¬
AWS EC2
sudo dnf update -y
sudo dnf install docker -y
sudo systemctl start docker
sudo usermod -a -G docker ec2-user
# for ec2-user permission
sudo reboot
docker ps
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
# https://github.com/docker/compose/releases/
curl -SL https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-linux-aarch64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
docker compose version
Cases
- copy file
docker cp d362659da5fc:/opt/app/app.log .
- d362659da5fc: container id
μ°Έκ³
docker ps
docker images
docker images ubuntu
docker run -i -t ubuntu:12.10 /bin/bash
ps faxw
ls
rm -rf /var /usr /lib
ls /var
exit
ssh dockerdev
sudo -s
docker ps
docker diff 7b882b11bc8e
docker commit 7b882b11bc8e shykes/broken-ubuntu
docker run -i -t shykes/broken-ubuntu /bin/bash
docker push shykes/broken-ubuntu
https://index.docker.io
related
ref
- How to remove docker images containers and volumes
- Docker in 12 minutes
- Docker Compose in 12 minutes
- Getting Started for non-technical
- https://docs.docker.com/mac/step_three/
- docker/whalesay
- docker for mac
brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve\nsudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
docker-machine create default --driver xhyve --xhyve-experimental-nfs-share
eval $(docker-machine env default)
docker run hello-world