1、創建一個後臺運行進程的容器
[dkuser@c741 ~]$ docker run -d ubuntu:15.10 /bin/sh -c "while true;do echo hello world;sleep 1;done"
93201dcb067f1c55c173366a80162fca7c7a6f472c26f186376cb080fb84dd4a
查看容器
[dkuser@c741 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93201dcb067f ubuntu:15.10 "/bin/sh -c 'while t…" 35 seconds ago Up 34 seconds fervent_engelbart
查看日誌,最後的參數是容器的ID,也可以換成容器名 fervent_engelbart
[dkuser@c741 ~]$ docker logs 93201dcb067f
hello world
hello world
hello world
hello world
hello world
....
再次查看日誌會發現輸出的內容增加了,說明容器一直在運行,輸出的進程一直在執行。
停止容器
[dkuser@c741 ~]$ docker stop 93201dcb067f
2、運行一個web應用
載入鏡像
[dkuser@c741 ~]$ docker pull training/webapp
運行容器
[dkuser@c741 ~]$ docker run -d -P training/webapp python app.py
參數說明:
-d:讓容器在後臺運行
-P:將容器內部使用的網絡端口映射到我們使用的主機上
查看容器
[dkuser@c741 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
faa9d63a07b8 training/webapp "python app.py" 5 seconds ago Up 4 seconds 0.0.0.0:32768->5000/tcp zealous_cohen
可以看到端口信息,這裏做了端口的映射,docker容器的5000端口映射到主機端口32768。
可以使用瀏覽器訪問WEB應用
地址:http://192.168.121.129:32768/
使用 -p 設置不一樣的端口
[dkuser@c741 ~]$ docker run -d -p 5000:5000 training/webapp python app.py
查看新啓動的容器
[dkuser@c741 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6f226450c90 training/webapp "python app.py" 5 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp clever_hertz
faa9d63a07b8 training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:32768->5000/tcp zealous_cohen
使用瀏覽器可以通過新的端口訪問WEB應用
地址:http://192.168.121.129:5000
查看容器端口映射到宿主機端口的情況
[dkuser@c741 ~]$ docker port e6f226450c90
5000/tcp -> 0.0.0.0:5000
可以加入 -f 參數查看容器實時日誌,類似tail -f
[dkuser@c741 ~]$ docker logs -f e6f226450c90
查看容器進程
[dkuser@c741 ~]$ docker top e6f226450c90
UID PID PPID C STIME TTY TIME CMD
root 21127 21111 0 11:12 ? 00:00:00 python app.py
查看容器底層信息
[dkuser@c741 ~]$ docker inspect clever_hertz
[
{
"Id": "e6f226450c90c65f394cd0862fc058a38ec457821d189779b9ded7e9208d0a24",
"Created": "2019-04-25T03:12:02.032267436Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
.....
重啓容器
對於正在啓動的容器可以使用restart重啓
[dkuser@c741 ~]$ docker restart clever_hertz
查詢最後一次創建的容器
[dkuser@c741 ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6f226450c90 training/webapp "python app.py" 6 minutes ago Exited (137) 35 seconds ago clever_hertz
參考:
https://www.runoob.com/docker/docker-tutorial.html