幫助命令
docker version # 查看docker的版本信息
docker info # 查看docker的系統信息,包含鏡像和容器的數量
docker --help # 幫助命令
docker官方幫助文檔的命令 : https://docs.docker.com/engine/reference/commandline/docker/
https://hub.docker.com/ docker hub倉庫地址
鏡像命令
docker images
docker images 查看所有本地主機上的鏡像[root@iz2zeak7sgj6i7hrb2g862z ~] docker images
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB mysql 5.7 b84d68d0a7db 6 days ago 448MB # 解釋 #REPOSITORY # 鏡像的倉庫源 #TAG # 鏡像的標簽(版本) ---lastest 表示最新版本 #IMAGE ID # 鏡像的id #CREATED # 鏡像的創建時間 #SIZE # 鏡像的大小
docker images
-a 列出所有鏡像 all
-q 只顯示鏡像的id quiet
docker search
docker search [OPTIONS] 搜索鏡像
option 作用 -f, --filter filter 根據提供的 filter 過濾輸出 --limit int 搜索結果條數最大為 int(默認25) --no-trunc 顯示完整的鏡像 description --format 使用 Go 模板進行美觀打印
搜索 star 數量>3000 的 mysql 鏡像
docker pull
docker pull 鏡像名[:tag]
docker pull mysql
latest: Pulling from library/mysql # 如果不寫tag,默認就是最新的latest ffbb094f4f9e: Pull complete # 分層下載, docker image的核心,聯合文件系統 df186527fc46: Pull complete fa362a6aa7bd: Pull complete 5af7cb1a200e: Pull complete 949da226cc6d: Pull complete bce007079ee9: Pull complete eab9f076e5a3: Pull complete 8a57a7529e8d: Pull complete b1ccc6ed6fc7: Pull complete b4af75e64169: Pull complete 3aed6a9cd681: Pull complete 23390142f76f: Pull complete Digest: sha256:ff9a288d1ecf4397967989b5d1ec269f7d9042a46fc8bc2c3ae35458c1a26727 # 簽名防偽 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest # 真實地址
# 上述命令的等價寫法
docker pull mysql == dccker pull docker.io/library/mysql:latest
# 指定版本的下載
docker pull mysql:5.7
docker rmi
docker rmi 鏡像的名稱/鏡像的ID # 刪除鏡像
docker rmi -f [id] #刪除指定的鏡像 docker rmi -f [id1] [id2] #刪除多個鏡像 docker rmi -f $(docker images -aq) #刪除所有的鏡像
容器命令
說明:有了鏡像才可以創建容器; 下載1個centos的鏡像來測試學習
docker pull centos
新建容器並啟動
docker run
docker run [可選參數] image # 可選參數說明 --name="" # 容器名字,tomact01.tomact02 用來區分容器 -d # 后台方式運行 -it # 使用交互方式查詢,進入容器查看內容 -p # 是小寫的p. 指定容器的端口 -p 8080:8080 -P #是大寫的P, 是隨機指定端口
比如: docker run -it centos
docker run -p的使用方式
docker run -p ip:主機端口:容器端口
docker run -p 主機端口:容器端口(最常用的)
docker run -p 容器端口
docker run 容器端口
啟動並進入容器
[root@iZuf63tzd3n3bijtsfqsk5Z ~]# docker run -it centos [root@6d915c591615 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@6d915c591615 /]# exit exit
exit的方式是 退出容器並停止運行
ctrl+p+q的方式是 退出容器並且是不會停止運行
[root@iZuf63tzd3n3bijtsfqsk5Z ~]# ls [root@iZuf63tzd3n3bijtsfqsk5Z ~]#
docker ps
列出所有運行的容器 docker ps 顯示全部的容器 docker ps -a 顯示最近創建的容器 docker ps -l 或者 docker ps -a -l 顯示 最近創建的2個容器 docker ps -n 2
docker rm 刪除容器
docker rm 容器id # 刪除指定的容器, 不能刪除正在運行的容器, 需要強制刪除docker rm -f docker rm -f $(docker ps -aq) #刪除所有的容器
docker ps -a -q|xargs docker rm #刪除所有的容器
啟動和停止容器的操作
# 啟動容器
docker start 容器id
# 重啟容器
docker restart 容器id
# 停止正在運行的容器
docker stop 容器id
# 殺掉容器,強制停止容器
docker kill 容器id
常用其他命令
后台啟動容器
docker run -d 鏡像名
docker run -d centos
查看日志docker logs
docker logs --help #查看一系列的參數
docker logs -f -t --tail 容器id
查看容器的進程信息
# 命令
docker top 容器id
查看容器的元數據
# 命令
docker inspect 容器id
進入當前正在運行的容器
# 我們通常啟動容器 是通過后台方式進行的,需要進入到容器修改一些配置 # 命令,進入正在運行的容器 方法一 docker exec -it 容器id 方法二 docker attach 容器id
從容器內拷貝文件到主機
#命令
docker cp 容器id:容器內路徑 目的主機路徑
docker命令小結