- 當我們創建一個容器的時候,docker 會自動對它進行命名。另外,我們也可以使用 --name 標識來命名
- -d 讓 Docker 在後臺運行而不是直接把執行命令的結果輸出在當前宿主機下
[root@test32 ~]# docker run nginx /bin/sh -c "while true; do echo hello world; sleep 1; done" hello world hello world hello world hello world
[root@test32 ~]# docker run -d nginx /bin/sh -c "while true; do echo hello world; sleep 1; done"
2939156e31bb2913453aaa424214376c382aabef2bf1903e723e2ad9f6330e35
[root@test32 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2939156e31bb nginx "/bin/sh -c 'while..." 17 seconds ago Up 15 seconds 80/tcp youthful_hodgkin
-
此時用 docker logs 來查看日誌
[root@test32 ~]# docker logs -f -t 293915 2018-12-26T10:34:40.558068000Z hello world 2018-12-26T10:34:41.559143000Z hello world 2018-12-26T10:34:42.560398000Z hello world 2018-12-26T10:34:43.561626000Z hello world 2018-12-26T10:34:44.562831000Z hello world 2018-12-26T10:34:45.564119000Z hello world
-f 跟蹤實時日誌
--since string 顯示自某個timestamp之後的日誌,或相對時間,如42m(即42分鐘)
--tail string 從日誌末尾顯示多少行日誌, 默認是all
-t 顯示時間戳
--until string 顯示自某個timestamp之前的日誌,或相對時間[root@test32 ~]# docker logs -f -t --tail=10 293915 [root@test32 ~]# docker logs -t --since="2018-12-26T10:48Z" 293915 2018-12-26T10:48:00.605556000Z hello world 2018-12-26T10:48:01.607088000Z hello world 2018-12-26T10:48:02.608282000Z hello world 2018-12-26T10:48:03.609575000Z hello world 2018-12-26T10:48:04.610942000Z hello world
-
stop
[root@test32 ~]# docker stop 293915 293915 [root@test32 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2939156e31bb nginx "/bin/sh -c 'while..." 16 minutes ago Exited (137) 14 seconds ago youthful_hodgkin
- docker ps 查看容器名稱
- docker: Docker 的二進制執行文件。
- run:與上面的 docker 組合來運行一個容器
- -d:讓容器在後臺運行。
-
通過docker的兩個參數 -i -t,讓docker運行的容器實現"對話"的能力
- -t:在新容器內指定一個僞終端或終端。
- -i:允許你對容器內的標準輸入 (STDIN) 進行交互。
- -P 參數創建一個容器
- 兩種方式的區別是:
- -P :是容器內部端口隨機映射到主機的高端口。
- -p : 是容器內部端口綁定到指定的主機端口 ,可以綁定多個端口。
- docker run -d -P training/webapp python app.py
- docker run -p 127.0.0.1:5000:5000/udp training/webapp python app.py
- docker run --name test -d -p 4000:4000 -p 4050:80 training/webapp python app.py
- 默認都是綁定 tcp 端口,如果要綁定 UDP 端口,可以在端口後面加上 /udp
- docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubunt
- 各個參數說明:
- -m: 提交的描述信息
- -a: 指定鏡像作者
- e218edb10161:容器ID
- runoob/ubuntu:v2: 指定要創建的目標鏡像名
- docker build -t runoob/centos:6.7 .
- -t : 指定要創建的目標鏡像名
- . : Dockerfile 文件所在目錄,可以指定Dockerfile 的絕對路徑