Docker 常用指令
映像檔 (Images)
搜尋映像檔
$ docker search [keyword]
例如:
$ docker search mysql
下載映像檔
$ docker pull [image_name:version]
例如:
$ docker search mysql # 官方提供的 masql,預設版本:latest
$ docker search mysql:5.7 # 官方提供的 masql,指定版本:5.7
$ docker search tutum/mysql # user(tutum) 提供的 mysql
列出本機映像檔
$ docker images
移除映像檔
$ docker rmi [image_name:version]
例如:
$ docker rmi mysql:5.6 # 刪除 5.6 版的 mysql
查詢映像檔版本
先使用以下網址取得映像檔的 JSON 資訊: https://registry.hub.docker.com/v2/repositories/library/{image_name}/tags/
將 JSON String Parser,其中 name 欄位就是版本資訊。
http://json.parser.online.fr/
例如:查詢 ubuntu 的 JSON 資訊。
https://registry.hub.docker.com/v2/repositories/library/ubuntu/tags/
容器 (Containers)
建立容器
$ docker run [參數] [image_name:version]
參數:
-d 讓容器啟動後進入背景執行
列出容器
$ docker ps # 列出執行中容器
參數:
-a 列出所有容器,包含已終止容器
啟動已終止容器
$ docker start [container_name]
重新啟動執行中容器
$ docker restart [container_name]
終止執行中容器
$ docker stop [container_name]
查看容器輸出訊息
$ docker logs [container_name]
進入容器
$ docker exec -ti [container_name] bash
跳離容器
ctrl + P 然後 ctrl + Q 跳離容器。
刪除已終止容器
$ docker rm [container_name]
刪除執行中容器
$ docker rm -f [container_name]
修改容器中的 Config
一般容器中沒有內建 vi,也不建議在每個容器中裝上 vi,若需要修改容器中的檔案, 可將容器中的檔案複製回本地端,使用 vi 修改完,再複製回去。
$ docker cp CONTAINER:FILEPATH LOCALFILEPATH
$ vi LOCALFILEPATH
$ docker cp LOCALFILEPATH CONTAINER:FILEPATH