Docker命令簡書
容器生命周期管理
Run 創建一個新的容器并運行一個命令
Start/stop/restart 停止容器
Kill
Rm 洗掉容器
Pause/unpause
Create
Exec
容器操作
Ps
Inspect 獲取容器/鏡像的元資料
Top
Attach
Events
Logs
Wait
Export
Port
容器rootfs命令
Commit
Cp
Diff
鏡像倉庫
Login
Pull 從鏡像倉庫中拉取或者更新指定鏡像
Push 將本地的鏡像上傳到鏡像倉庫,要先登錄到鏡像倉庫
Search
本地鏡像管理
Images 列出本地鏡像
Rmi
Tag 標記本地鏡像,將其歸入某一倉庫
Build
History
Save
Load
Import
Info|versiom
Info
Version
Docket run命令
docker run :創建一個新的容器并運行一個命令
語法
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS說明:
-a stdin: 指定標準輸入輸出內容型別,可選 STDIN/STDOUT/STDERR 三項;
-d: 后臺運行容器,并回傳容器ID;
-i: 以互動模式運行容器,通常與 -t 同時使用;
-P: 隨機埠映射,容器內部埠隨機映射到主機的埠
-p: 指定埠映射,格式為:主機(宿主)埠:容器埠
-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運行;
-m :設定容器使用記憶體最大值;
–net=“bridge”: 指定容器的網路連接型別,支持 bridge/host/none/container: 四種型別;
–link=[]: 添加鏈接到另一個容器;
–expose=[]: 開放一個埠或一組埠;
–volume , -v: 系結一個卷
實體
使用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:/#
Docker start/stop/restart 命令
docker start :啟動一個或多個已經被停止的容器
docker stop :停止一個運行中的容器
docker restart :重啟容器
語法
docker start [OPTIONS] CONTAINER [CONTAINER…]
docker stop [OPTIONS] CONTAINER [CONTAINER…]
docker restart [OPTIONS] CONTAINER [CONTAINER…]
實體
啟動已被停止的容器myrunoob
docker start myrunoob
停止運行中的容器myrunoob
docker stop myrunoob
重啟容器myrunoob
docker restart myrunoob
Docket rm命令
docker rm :洗掉一個或多個容器,
語法
docker rm [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS說明:
-f :通過 SIGKILL 信號強制洗掉一個運行中的容器,
-l :移除容器間的網路連接,而非容器本身,
-v :洗掉與容器關聯的卷,
實體
強制洗掉容器 db01、db02:
docker rm -f db01 db02
移除容器 nginx01 對容器 db01 的連接,連接名 db:
docker rm -l db
洗掉容器 nginx01, 并洗掉容器掛載的資料卷:
docker rm -v nginx01
洗掉所有已經停止的容器:
docker rm $(docker ps -a -q)
DOcket inspect命令
docker inspect : 獲取容器/鏡像的元資料,
語法
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
OPTIONS說明:
-f :指定回傳值的模板檔案,
-s :顯示總的檔案大小,
–type :為指定型別回傳JSON,
實體
獲取鏡像mysql:5.6的元資訊,
runoob@runoob:~$ docker inspect mysql:5.6
[
{
“Id”: “sha256:2c0964ec182ae9a045f866bbc2553087f6e42bfc16074a74fb820af235f070ec”,
“RepoTags”: [
“mysql:5.6”
],
“RepoDigests”: [],
“Parent”: “”,
“Comment”: “”,
“Created”: “2016-05-24T04:01:41.168371815Z”,
“Container”: “e0924bc460ff97787f34610115e9363e6363b30b8efa406e28eb495ab199ca54”,
“ContainerConfig”: {
“Hostname”: “b0cf605c7757”,
“Domainname”: “”,
“User”: “”,
“AttachStdin”: false,
“AttachStdout”: false,
“AttachStderr”: false,
“ExposedPorts”: {
“3306/tcp”: {}
},
…
獲取正在運行的容器mymysql的 IP,
runoob@runoob:~$ docker inspect --format=’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ mymysql
172.17.0.3
Docket pull命令
docker pull : 從鏡像倉庫中拉取或者更新指定鏡像
語法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS說明:
-a :拉取所有 tagged 鏡像
–disable-content-trust :忽略鏡像的校驗,默認開啟
實體
從Docker Hub下載java最新版鏡像,
docker pull java
從Docker Hub下載REPOSITORY為java的所有鏡像,
docker pull -a java
Docket push命令
docker push : 將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
語法
docker push [OPTIONS] NAME[:TAG]
OPTIONS說明:
–disable-content-trust :忽略鏡像的校驗,默認開啟
實體
上傳本地鏡像myapache:v1到鏡像倉庫中,
docker push myapache:v1
Docket images命令
docker images : 列出本地鏡像,
語法
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS說明:
-a :列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層);
–digests :顯示鏡像的摘要資訊;
-f :顯示滿足條件的鏡像;
–format :指定回傳值的模板檔案;
–no-trunc :顯示完整的鏡像資訊;
-q :只顯示鏡像ID,
實體
查看本地鏡像串列,
runoob@runoob:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mymysql v1 37af1236adef 5 minutes ago 329 MB
runoob/ubuntu v4 1c06aa18edee 2 days ago 142.1 MB
5c6e1090e771 2 days ago 165.9 MB
httpd latest ed38aaffef30 11 days ago 195.1 MB
alpine latest 4e38e38c8ce0 2 weeks ago 4.799 MB
mongo 3.2 282fd552add6 3 weeks ago 336.1 MB
redis latest 4465e4bcad80 3 weeks ago 185.7 MB
php 5.6-fpm 025041cd3aa5 3 weeks ago 456.3 MB
python 3.5 045767ddf24a 3 weeks ago 684.1 MB
…
列出本地鏡像中REPOSITORY為ubuntu的鏡像串列,
root@runoob:~# docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 9 weeks ago 188 MB
ubuntu 15.10 4e3b13c8a266 3 months ago 136.3 MB
Docket tag命令
docker tag : 標記本地鏡像,將其歸入某一倉庫,
語法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
實體
將鏡像ubuntu:15.10標記為 runoob/ubuntu:v3 鏡像,
root@runoob:~# docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images runoob/ubuntu:v3
REPOSITORY TAG IMAGE ID CREATED SIZE
runoob/ubuntu v3 4e3b13c8a266 3 months ago 136.3 MB
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/292180.html
標籤:其他
