文章目錄
- docker version 查看版本資訊
- docker inspect 查看鏡像全部資訊
- docker search 搜索鏡像
- docker pull 下載鏡像
- docker images 查看鏡像
- docker ps 列出所有運行中容器
- docker tag 打標簽
- docker rmi 洗掉標簽
- docker history 查看指定鏡像的創建歷史
- docker create
- docker save 備份
- docker load 還原
- docker pause 暫停某一容器的所有行程,
- docker start|stop|restart
- docker run
- docker rm 刪容器
- docker exec 進入容器
- docker commit 創建一個復制鏡像
- 批量洗掉容器
docker version 查看版本資訊
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:03:45 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
docker inspect 查看鏡像全部資訊
[root@localhost ~]# docker inspect 7e4d58f0e5f3
[root@localhost ~]# docker inspect nginx
docker search 搜索鏡像
查看tomcat的鏡像檔案
[root@localhost ~]# docker search tomcat
NAME'名稱' DESCRIPTION'鏡像描述' STARS'下載次數' OFFICIAL'官方源' AUTOMATED'自動'
tomcat Apache Tomcat is an open source implementati… 2831 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 83 [OK]
NAME # 鏡像倉庫
DESCRIPTION # 鏡像描述資訊
STARS # 鏡像收藏數
OFFICIAL # 是否為docker官方發布的鏡像
AUTOMATED # 是否為自動化構建的鏡像,關于自動化構建,可以查看官方檔案:https://docs.docker.com/docker-hub/builds/#how-automated-builds-work
docker pull 下載鏡像
從鏡像倉庫內下載nginx
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
d121f8d1c412: Pull complete
ebd81fc8c071: Pull complete
655316c160af: Pull complete
d15953c0e0f8: Pull complete
2ee525c5c3cc: Pull complete
Digest: sha256:c628b67d21744fce822d22fdcc0389f6bd763daac23a6b77147d0712ea7102d0
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
docker push
docker push name[:tag “o”>]
docker push laozhu/nginx:latest
將鏡像推送至遠程倉庫,默認為 Docker Hub ,
docker images 查看鏡像
-a 列出所有鏡像(含程序鏡像);
-f 過濾鏡像,如: -f [‘dangling=true’] 只列出滿足
dangling=true 條件的鏡像;
–no-trunc 可顯示完整的鏡像ID;
-q 僅列出鏡像ID,
–tree 以樹狀結構列出鏡像的所有提交歷史,
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7e4d58f0e5f3 8 days ago 133MB
REPOSITORY 名稱
TAG 標記 后期要進行鏡像上傳的時候要用到
IMAGE ID 鏡像ID
CREATED 鏡像創建日期
[root@localhost ~]# docker images -q
7e4d58f0e5f3
7e6257c9f8d8
docker ps 列出所有運行中容器
-a 列出所有容器(含沉睡鏡像);
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1b2ef7c2386 centos:7 "/bin/bash -c 'while…" 10 hours ago Up 10 hours trusting_grothendieck
e342d2c1784b nginx:latest "/docker-entrypoint.…" 10 hours ago Up 10 hours 80/tcp clever_jang
49dc91b17af6 nginx "/docker-entrypoint.…" 15 hours ago Exited (0) 15 hours ago nginx-test
–before=“nginx” 列出在某一容器之前創建的容器,接受容器名稱和ID作為引數;
–since=“nginx” 列出在某一容器之后創建的容器,接受容器名稱和ID作為引數;
-f [exited=] 列出滿足
exited= 條件的容器;
-l 僅列出最新創建的一個容器;
[root@localhost ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1b2ef7c2386 centos:7 "/bin/bash -c 'while…" 10 hours ago Up 10 hours trusting_grothendieck
–no-trunc 顯示完整的容器ID;
[root@localhost ~]# docker ps --no-trunc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1b2ef7c23869261a2ef15be13dcfef37108c3020107eda2260a2c81117cfc3d centos:7 "/bin/bash -c 'while true;do echo hello;done'" 10 hours ago Up 10 hours trusting_grothendieck
e342d2c1784b1ed13738344f4e82cdf8f77170a7fe30827cd55921b401385b36 nginx:latest "/docker-entrypoint.sh /bin/bash" 10 hours ago Up 10 hours 80/tcp clever_jang
-n=4 列出最近創建的4個容器;
[root@localhost ~]# docker ps -n 2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1b2ef7c2386 centos:7 "/bin/bash -c 'while…" 10 hours ago Up 10 hours trusting_grothendieck
e342d2c1784b nginx:latest "/docker-entrypoint.…" 10 hours ago Up 10 hours 80/tcp clever_jang
-q 僅列出容器ID;
[root@localhost ~]# docker ps -q
c1b2ef7c2386
e342d2c1784b
-s 顯示容器大小,
[root@localhost ~]# docker ps -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
c1b2ef7c2386 centos:7 "/bin/bash -c 'while…" 10 hours ago Up 10 hours trusting_grothendieck 0B (virtual 203MB)
e342d2c1784b nginx:latest "/docker-entrypoint.…" 10 hours ago Up 10 hours 80/tcp clever_jang 17B (virtual 133MB)
docker tag 打標簽
-f 覆寫已有標記,
相當于增加一個標簽(硬鏈接) 不是修改, 后期上傳到倉庫 要進行更改成指定的標簽格式
[root@localhost ~]# docker tag nginx:latest nginx:web
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7e4d58f0e5f3 8 days ago 133MB
nginx web 7e4d58f0e5f3 8 days ago
docker rmi 洗掉標簽
從本地移除一個或多個指定的鏡像,
-f 強行移除該鏡像,即使其正被使用;
–no-prune 不移除該鏡像的程序鏡像,默認移除,
-l : 移除容器間的網路連接,而非容器本身
-v : 洗掉與容器關聯的卷
洗掉標簽的兩種方式以及區別
docker rmi + id 當存在兩個相同id的時候不能使用id號來洗掉
docker rmi + 鏡像名稱:標簽 洗掉指定標簽的鏡像 可以是多個id相同的標簽
如下所示
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7e4d58f0e5f3 8 days ago 133MB
nginx web 7e4d58f0e5f3 8 days ago 133MB
[root@localhost ~]# docker rmi 7e4d58f0e5f3
Error response from daemon: conflict: unable to delete 7e4d58f0e5f3 (cannot be forced) - image is being used by running container 49dc91b17af6
[root@localhost ~]# docker rmi nginx:web
Untagged: nginx:web
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7e4d58f0e5f3 8 days ago
此時報錯的原因是我之前已經將容器的nginx服務跑起來了 此處想要洗掉必須加-f
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 7e4d58f0e5f3 8 days ago 133MB
[root@localhost ~]# docker rmi 7e4d58f0e5f3
Error response from daemon: conflict: unable to delete 7e4d58f0e5f3 (cannot be forced) - image is being used by running container 49dc91b17af6
docker history 查看指定鏡像的創建歷史
–no-trunc 顯示完整的提交記錄;
[root@localhost ~]# docker history 7e4d58f0e5f3
IMAGE CREATED CREATED BY SIZE COMMENT
7e4d58f0e5f3 9 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
<missing> 9 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
<missing> 9 days ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 9 days ago /bin/sh -c #(nop) ENTRYPOINT ["/docker-entr… 0B
<missing> 9 days ago /bin/sh -c #(nop) COPY file:0fd5fca330dcd6a7… 1.04kB
<missing> 9 days ago /bin/sh -c #(nop) COPY file:1d0a4127e78a26c1… 1.96kB
<missing> 9 days ago /bin/sh -c #(nop) COPY file:e7e183879c35719c… 1.2kB
<missing> 9 days ago /bin/sh -c set -x && addgroup --system -… 63.4MB
<missing> 9 days ago /bin/sh -c #(nop) ENV PKG_RELEASE=1~buster 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NJS_VERSION=0.4.3 0B
<missing> 9 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.19.2 0B
<missing> 9 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
<missing> 10 days ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 10 days ago /bin/sh -c #(nop) ADD file:e7407f2294ad23634… 69.2MB
-q 僅列出提交記錄ID,
[root@localhost ~]# docker history 7e4d58f0e5f3 -q
7e4d58f0e5f3
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
<missing>
docker create
//-i:讓容器的標準輸入保持打開
//-t:讓docker分配一個偽終端
[root@localhost opt]# docker create -it nginx:latest
4e697390f6d1e4711e69e2bdfa3771331ba99e598b89badf7e6319c0e497d11b
docker save 備份
[root@localhost opt]# docker save -o /opt/nginx01 nginx:latest
[root@localhost opt]# ls /opt
containerd docker.sh nginx01 rh
docker load 還原
[root@localhost opt]# docker load < /opt/nginx01
Loaded image: nginx:latest
[root@localhost opt]# docker load --input /opt/nginx01
Loaded image: nginx:latest
將指定鏡像保存成 tar 歸檔檔案, docker load 的逆操作,保存后再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾,
-o “debian.tar” 指定保存的鏡像歸檔,
docker pause 暫停某一容器的所有行程,
docker unpause
docker unpause
恢復某一容器的所有行程,
docker start|stop|restart
docker start|stop “p”>|restart [options “o”>] “o”>[container…]
啟動、停止和重啟一個或多個指定容器,
[root@localhost opt]# docker start 4e697390f6d1
-a 待完成
-i 啟動一個容器并進入互動模式;
-t 10 停止或者重啟容器的超時時間(秒),超時后系統將殺死行程,
docker run
啟動一個容器,在其中運行指定命令,
-a stdin 指定標準輸入輸出內容型別,可選 STDIN/
STDOUT / STDERR 三項;
-d 后臺運行容器,并回傳容器ID;
-i 以互動模式運行容器,通常與 -t 同時使用;
-t 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
–name=“nginx-lb” 為容器指定一個名稱;
–dns 8.8.8.8 指定容器使用的DNS服務器,默認和宿主一致;
–dns-search example.com 指定容器DNS搜索域名,默認和宿主一致;
-h “mars” 指定容器的hostname;
-e username=“ritchie” 設定環境變數;
–env-file=[] 從指定檔案讀入環境變數;
–cpuset=“0-2” or --cpuset=“0,1,2” 系結容器到指定CPU運行;
-c 待完成
-m 待完成
–net=“bridge” 指定容器的網路連接型別,支持 bridge /
host / none
container:<name|id> 四種型別;
–link=[] 待完成
–expose=[] 待完成
使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為mynginx,
docker run --name mynginx -d nginx:latest
使用鏡像nginx:latest以后臺模式啟動一個容器,并將容器的80埠映射到主機隨機埠,
docker run -P -d nginx:latest
使用鏡像 nginx:latest,以后臺模式啟動一個容器,將容器的 80 埠映射到主機的 80 埠,主機的目錄 /data 映射到容器的 /data,
docker run -p 80:80 -v /data:/data -d nginx:latest
系結容器的 8080 埠,并將其映射到本地主機 127.0.0.1 的 80 埠上,
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用鏡像nginx:latest以互動模式啟動一個容器,在容器內執行/bin/bash命令,
runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/#
'-d 后臺運行 -p埠映射 前面那的是真機的埠 系結到docker的82埠'
[root@localhost opt]# docker run -d -p 82:80 nginx
docker rm 刪容器
洗掉容器(先停止容器在洗掉):docker rm 容器id
[root@docker ~]# docker rm 4aeeecce12fd
4aeeecce12fd
[root@docker ~]# docker ps -a
docker exec 進入容器
'//-i:讓容器的標準輸入保持打開'
'//-t:讓docker分配一個偽終端'
[root@localhost opt]# docker exec -it 4e697390f6d1 /bin/bash '進入容器 創建新的終端'
root@4e697390f6d1:/# ls
bin docker-entrypoint.d home media proc sbin tmp
boot docker-entrypoint.sh lib mnt root srv usr
dev etc lib64 opt run sys var
root@4e697390f6d1:/etc# exit
exit
[root@localhost opt]# docker attach 4e '直接進入當前運行的容器 不創建新的終端'
ls
docker commit 創建一個復制鏡像
[root@localhost opt]# docker commit 35 web2
sha256:2051861483e6dd430987444df96a16100e3f5b071f797a0b03311dd7939ce167
[root@localhost opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
web2 latest 2051861483e6 42 seconds ago 133MB
nginx latest 7e4d58f0e5f3 9 days ago 133MB
批量洗掉容器
docker ps -a |awk '{print "docker rm "$1}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/105457.html
標籤:其他
