docker基本介紹
指令整理
Run Container
docker container run -d --name nginx nginxAll Container new:
docker container ls -aold:docker ps -a移除 container new:
docker container rm <container_id>old:docker rm <container_id>
new: docker container rm -f <container_id>
列出特定 container 目前所執行的 process new:
docker container top <container_id>old:docker top <container_id>列出所有執行的 processes
ps auxshow metadaa about the container(details of one container config) new:
docker container inspect <container_id>old:docker inspect <container_id>show live performance data for all containers(performance stats for all containers) new:
docker container stats <container_id>old:docker stats <container_id>start new container interactively(以交互方式啟動 container)
docker container run -it <container_id> sh(bash)-t => pseudo-tty (simulates a real terminal, like what SSH does) -i => interactive(Keep session open to receive terminal input) bash shell => if run with -it, it will give you a terminal inside the running containerdocker container start -ai <container_id>run additional command in existing container(在現有的 container 加入附加指令)
docker container exec -it <container_id> sh
- Small Linux system Alpine
docker container run 做什麼
- 在本地的 image cache 找是否有 image,若沒有
- 在線上的 image repository 找是否有同名的 image (預設是 Docker Hub)
- 若找到下載最新版(除非有指定版號)
- 基於該 image 生成一 container,並準備執行
- 在 docker enginer 的 private network 給予虛擬 IP
- 根據 run 時的指令開啟外部環境與 container 對接的 port
- 執行根據 image 的 Dockerfile 所定義的 CMD
containers are not mini-vm's
- They are just processes.
- Limited to what resources they can access.
- Exit when process stop.