您好,登錄后才能下訂單哦!
Docker鏡像的使用
前兩個章節(jié),介紹了容器的相關(guān)基礎(chǔ)知識,這章我們介紹鏡像的簡單使用,鏡像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是實例網(wǎng)絡(luò)映射到本機,因為這個webapp是會監(jiān)聽tcp端口,加上這個參數(shù)容器里面的監(jiān)聽tcp端口跟本機的tcp端口,這樣我們就直接在本機訪問對應的端口就可以跟容器實例監(jiān)聽的端口建立連接
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
?
#從返回的信息可以看到,容器里面監(jiān)聽的5000端口映射到本機的1024端口,我們試試訪問本機的1024端口看看
curl http://127.0.0.1:1024/
?
#返回
Hello world!
?
進入容器環(huán)境
上面的例子是在外部訪問容器,我們試試進入容器環(huán)境里面看看具體情況。
#查看當前在運行的容器實例列表
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
?
#運行之后,我們會發(fā)現(xiàn),命令行終端已經(jīng)發(fā)生變化,進入了實例 5da522ffe229 里面
root@5da522ffe229:/opt/webapp#
?
#運行一下netstat看看監(jiān)聽情況
netstat -lnp
?
#看到了,我們之前運行的webapp監(jiān)聽了5000的內(nèi)部端口
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
#因為我們進入了容器的隔離環(huán)境,還沒有裝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!
?
#退出當前容器環(huán)境,命令行提示又回到本機了
ctrl+d
?
其他使用功能
?
#查看指定容器實例的log日志
docker logs -f 5da522ffe229
?
#查看指定容器實例的top
docker top 5da522ffe229
?
#查看指定容器的端口信息
docker port 5da522ffe229
?
#查看指定容器的配置信息
docker inspect 5da522ffe229
?
————————————————
睿江云官網(wǎng)鏈接:https://www.eflycloud.com/home?from=RJ0035
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。