您好,登錄后才能下訂單哦!
Docker鏡像的使用
前兩個章節,介紹了容器的相關基礎知識,這章我們介紹鏡像的簡單使用,鏡像hub里面有來自于全世界貢獻的各種鏡像,包括一些入門和學習練手的鏡像,今天我們使用的正式其中一個用于學習練習的鏡像(https://github.com/docker-training/webapp)
?
下載啟動容器
?
#先把鏡像pull下來
docker pull training/webapp
?
#查看當前鏡像列表
docker images
?
#可以看到我們剛才下載的webapp
REPOSITORY? ? ? ? ? TAG? ? ? ? ? ? ? ? ?IMAGE ID? ? ? ? ? ? CREATED? ? ? ? ? ? ?SIZE
training/webapp? ? ?latest? ? ? ? ? ? ? 6fae60ef3446? ? ? ? 4 years ago? ? ? ? ?349MB
?
#運行webapp實例
#-d是后臺運行
#-P是實例網絡映射到本機,因為這個webapp是會監聽tcp端口,加上這個參數容器里面的監聽tcp端口跟本機的tcp端口,這樣我們就直接在本機訪問對應的端口就可以跟容器實例監聽的端口建立連接
docker run -d -P training/webapp python app.py
?
#查看運行實例情況
docker ps -a
?
#返回信息
CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? ?COMMAND? ? ? ? ? ? ?CREATED? ? ? ? ? ? ?STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? NAMES
5da522ffe229? ? ? ? training/webapp? ? ?"python app.py"? ? ?2 minutes ago? ? ? ?Up 2 minutes? ? ? ? 0.0.0.0:1024->5000/tcp? ?laughing_pike
?
#從返回的信息可以看到,容器里面監聽的5000端口映射到本機的1024端口,我們試試訪問本機的1024端口看看
curl http://127.0.0.1:1024/
?
#返回
Hello world!
?
進入容器環境
上面的例子是在外部訪問容器,我們試試進入容器環境里面看看具體情況。
#查看當前在運行的容器實例列表
docker ps -a
?
#返回信息
CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? ?COMMAND? ? ? ? ? ? ?CREATED? ? ? ? ? ? ?STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? NAMES
5da522ffe229? ? ? ? training/webapp? ? ?"python app.py"? ? ?8 minutes ago? ? ? ?Up 8 minutes? ? ? ? 0.0.0.0:1024->5000/tcp? ?laughing_pike
?
#我們要進入的容器實例ID是 5da522ffe229
#使用exec命令,同時運行bash,-it是交互命令終端
docker exec -it 5da522ffe229 /bin/bash
?
#運行之后,我們會發現,命令行終端已經發生變化,進入了實例 5da522ffe229 里面
root@5da522ffe229:/opt/webapp#
?
#運行一下netstat看看監聽情況
netstat -lnp
?
#看到了,我們之前運行的webapp監聽了5000的內部端口
Proto Recv-Q Send-Q Local Address? ? ? ? ? ?Foreign Address? ? ? ? ?State? ? ? ?PID/Program name
tcp? ? ? ? 0? ? ? 0 0.0.0.0:5000? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? ?LISTEN? ? ? -?
? ? ? ? ? ? ??
#我們試著運行訪問5000端口,提示 bash: curl: command not found
#因為我們進入了容器的隔離環境,還沒有裝curl
curl http://127.0.0.1:5000/
?
#我們先安裝curl
apt-get update; apt install -y curl
?
#安裝成功之后,再運行
curl http://127.0.0.1:5000/
?
#這次可以成功返回信息
Hello world!
?
#退出當前容器環境,命令行提示又回到本機了
ctrl+d
?
其他使用功能
?
#查看指定容器實例的log日志
docker logs -f 5da522ffe229
?
#查看指定容器實例的top
docker top 5da522ffe229
?
#查看指定容器的端口信息
docker port 5da522ffe229
?
#查看指定容器的配置信息
docker inspect 5da522ffe229
?
————————————————
睿江云官網鏈接:https://www.eflycloud.com/home?from=RJ0035
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。