Docker 操作紀錄(二)
目錄
接上一篇 Docker 操作紀錄 (一)
Docker 基本使用
刪除 Container
記得先用 stop 停止 container 才能刪。
docker rm CONTAINER_NAME或
docker rm CONTAINER_ID刪完之後可以用
docker ps -a確認一下是不是 container 就消失了。
用之前 Export 過的 Container 建立 image
之前 export 過一個 container 出來叫 c_test.tar,
可以用它來建立一個新的 image:
cat c_test.tar | docker import - ubuntu_test_repo:1.0後面那個 ubuntu_test_repo 是 repository 的名字,1.0 是 tag,
可以用
docker images列出來看一下。
有了 image 就可以建立新的 container 了。
刪除 Image
如果我用
docker images 列出的 image 有這些:
REPOSITORY TAG IMAGE ID CREATED SIZE
aaa 2.0 b30c39fffb75 4 seconds ago 64.2MB
aaa 1.0 6b8046192d83 8 seconds ago 64.2MB
ubuntu_test_repo 1.0 864c36a752c3 5 hours ago 64.2MB
ubuntu latest 549b9b86cb8d 2 weeks ago 64.2MB
hello-world latest fce289e99eb9 12 months ago 1.84kB要刪除 repository 名稱為 aaa,
tag 為 1.0 的 image:
docker rmi aaa:1.0就可以了。
所有用這個 image 的 container 要先被 rm 掉。
Dockerfile
是一個檔案,
可以讓使用者用更簡單的方式來建立 image。
分成四個部分:
- Image
- Maintainer (誰要對這個 dockerfile 負責)
- 操作 command
- Container 啟動時的 command
舉一個 nginx 的例子:
# 這是 dockerfile 的註解方式
# Image
FROM ubuntu
# Maintainer
MAINTAINER user user@example.com
# 操作 command
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y nginx
# Container 啟動時的 command
CMD ["nginx", "-g", "daemon off;"]建立 Image
可以用 docker build 來建立 image。
把剛剛那個 nginx 的 Dockerfile 放在 /tmp/d_file 下,
名稱叫 test_d_file 要 build 成 image,
並給那個 image 一個 test-nginx-img/1.0 的 tag:
docker build -t test-nginx-img/1.0 -f /tmp/d_file/test_d_file .build 完之後用 docker images 看一下:
REPOSITORY TAG IMAGE ID CREATED SIZE
test-nginx-img/1.0 latest 7293588d00a9 27 seconds ago 152MB