Docker鏡像的使用
前兩個章節,介紹了容器的相關基礎知識,這章咱們介紹鏡像的簡單使用,鏡像hub裏面有來自於全世界貢獻的各類鏡像,包括一些入門和學習練手的鏡像,今天咱們使用的正式其中一個用於學習練習的鏡像(https://github.com/docker-training/webapp)python
下載啓動容器
#先把鏡像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!
git
進入容器環境
上面的例子是在外部訪問容器,咱們試試進入容器環境裏面看看具體狀況。
#查看當前在運行的容器實例列表
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
github
其餘使用功能
#查看指定容器實例的log日誌
docker logs -f 5da522ffe229
#查看指定容器實例的top
docker top 5da522ffe229
#查看指定容器的端口信息
docker port 5da522ffe229
#查看指定容器的配置信息
docker inspect 5da522ffe229
————————————————
web
睿江雲官網連接:https://www.eflycloud.com/home?from=RJ0037docker