41 【docker】初識
阿新 • • 發佈:2018-12-14
常用的docker命令:
docker ps #檢視當前正在執行的容器 docker ps -a | grep <keyword> #檢視所有的容器,執行的或者停止的 docker stop <container-id> #停掉某個容器, 類似於主機的睡眠或者虛擬機器的掛起 docker start <container-id> #重新啟動某個容器,和剛才stop是相反的操作 docker rm <container-id> #刪除某個容器 docker rmi <image-name> #刪除某個image映象 docker run ... #引數很多,根據已有映象啟動某個容器 docker build ... #用dockerfile構建自定義的映象 docker insepct<container-id> #檢視某個容器的各種資訊 docker exec -it <container-id> /bin/bash #正在執行的映象,我們想進去看看要使用該命令
sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>: 檢視某個容器的IP
sudo docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(sudo docker ps -aq):檢視所有的容器的IP
做如下實驗:
1,構建一個映象檔案
建立檔案,檔名為:dockerfile
FROM nginx
MAINTAINER [email protected]
然後執行命令:sudo docker build -t xin/luwenwei.nginx .
含義是使用當前資料夾下面的dockefile來構建映象,映象名稱為<xin/luwenwei.nginx>
2,使用構建好的映象檔案啟動一個容器
執行命令:
sudo docker run -d -p 8888:80 xin/luwenwei.nginx
使用剛才構建的映象,建立一個容器,啟動主機埠8888,對映到容器中的80埠
3,從各個角度來觀察容器
3.1,檢視容器的執行狀態
# sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f887c1378676 xin/luwenwei.nginx "nginx -g 'daemon ..." 29 minutes ago Up 29 minutes 0.0.0.0:8888->80/tcp lucid_allen
可以看到,容器正在執行中。
3.2,檢視容器的功能是否正常
[email protected]:~/docker/nginx$ curl 127.0.0.1:8888 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
可以看到,容器的80埠開啟的,可以輸出html內容。
3.3,到容器內部去看看
[email protected]:~/docker/nginx$ sudo docker exec -it f887c1378676 /bin/bash [email protected]:/# ps aux bash: ps: command not found [email protected]:/# whereis nginx nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx [email protected]:/#