1. 程式人生 > >41 【docker】初識

41 【docker】初識

常用的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]:/#