Docker 容器使用Word格式文档下载.docx
《Docker 容器使用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Docker 容器使用Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
终端。
∙ubuntu:
ubuntu镜像。
∙/bin/bash:
放在镜像名后的是命令,这里我们希望有个交互式Shell,因此用的是/bin/bash。
要退出终端,直接输入exit:
root@ed09e4490c57:
/#exit
启动已停止运行的容器
查看所有的容器命令如下:
$dockerps-a
点击图片查看大图:
使用dockerstart启动一个已停止的容器:
$dockerstartb750bbbcfd88
后台运行
在大部分的场景下,我们希望docker的服务是在后台运行的,我们可以过-d指定容器的运行模式。
$dockerrun-itd--nameubuntu-testubuntu/bin/bash
注:
加了-d参数默认不会进入容器,想要进入容器需要使用指令dockerexec(下面会介绍到)。
停止一个容器
停止容器的命令如下:
$dockerstop<
容器ID>
停止的容器可以通过dockerrestart重启:
$dockerrestart<
进入容器
在使用-d参数时,容器启动后会进入后台。
此时想要进入容器,可以通过以下指令进入:
∙dockerattach
∙dockerexec:
推荐大家使用dockerexec命令,因为此退出容器终端,不会导致容器的停止。
attach命令
下面演示了使用dockerattach命令。
$dockerattach1e560fca3906
注意:
如果从这个容器退出,会导致容器的停止。
exec命令
下面演示了使用dockerexec命令。
dockerexec-it243c32535da7/bin/bash
如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用dockerexec的原因。
更多参数说明请使用dockerexec--help命令查看。
导出和导入容器
导出容器
如果要导出本地某个容器,可以使用dockerexport命令。
$dockerexport1e560fca3906>
ubuntu.tar
导出容器1e560fca3906快照到本地文件ubuntu.tar。
这样将导出容器快照到本地文件。
导入容器快照
可以使用dockerimport从容器快照文件中再导入为镜像,以下实例将快照文件ubuntu.tar导入到镜像test/ubuntu:
v1:
$catdocker/ubuntu.tar|dockerimport-test/ubuntu:
v1
此外,也可以通过指定URL或者某个目录来导入,例如:
$dockerimportexample/imagerepo
删除容器
删除容器使用dockerrm命令:
$dockerrm-f1e560fca3906
下面的命令可以清理掉所有处于终止状态的容器。
$dockercontainerprune
运行一个web应用
前面我们运行的容器并没有一些什么特别的用处。
接下来让我们尝试使用docker构建一个web应用程序。
我们将在docker容器中运行一个PythonFlask应用来运行一个web应用。
~#dockerpulltraining/webapp#载入镜像
~#dockerrun-d-Ptraining/webapppythonapp.py
参数说明:
∙-d:
让容器在后台运行。
∙-P:
将容器内部使用的网络端口随机映射到我们使用的主机上。
查看WEB应用容器
使用
dockerps
来查看我们正在运行的容器:
~#dockerps
CONTAINERIDIMAGECOMMAND...PORTS
d3d5e39ed9d3training/webapp"
pythonapp.py"
...0.0.0.0:
32769->
5000/tcp
这里多了端口信息。
PORTS
0.0.0.0:
Docker开放了5000端口(默认PythonFlask端口)映射到主机端口32769上。
这时我们可以通过浏览器访问WEB应用
我们也可以通过
-p
参数来设置不一样的端口:
~$dockerrun-d-p5000:
5000training/webapppythonapp.py
dockerps查看正在运行的容器
CONTAINERIDIMAGEPORTSNAMES
bf08b7f2cd89training/webapp...0.0.0.0:
5000->
5000/tcpwizardly_chandrasekhar
d3d5e39ed9d3training/webapp...0.0.0.0:
5000/tcpxenodochial_hoov
容器内部的5000端口映射到我们本地主机的5000端口上。
网络端口的快捷方式
通过dockerps
命令可以查看到容器的端口映射,docker还提供了另一个快捷方式dockerport,使用
dockerport
可以查看指定(ID或者名字)容器的某个确定端口映射到宿主机的端口号。
上面我们创建的web应用容器ID为bf08b7f2cd89名字为wizardly_chandrasekhar。
我可以使用dockerportbf08b7f2cd89或dockerportwizardly_chandrasekhar来查看容器端口的映射情况。
~$dockerportbf08b7f2cd89
5000/tcp->
0.0.0.0:
5000
~$dockerportwizardly_chandrasekhar
查看WEB应用程序日志
dockerlogs[ID或者名字]可以查看容器内部的标准输出。
~$dockerlogs-fbf08b7f2cd89
*Runningonhttp:
//0.0.0.0:
5000/(PressCTRL+Ctoquit)
192.168.239.1--[09/May/201616:
30:
37]"
GET/HTTP/1.1"
200-
GET/favicon.icoHTTP/1.1"
404-
-f:
让dockerlogs像使用tail-f
一样来输出容器内部的标准输出。
从上面,我们可以看到应用程序使用的是5000端口并且能够查看到应用程序的访问日志。
查看WEB应用程序容器的进程
我们还可以使用
dockertop
来查看容器内部运行的进程
~$dockertopwizardly_chandrasekhar
UIDPIDPPID...TIMECMD
root2324523228...00:
00:
00pythonapp.py
检查WEB应用程序
dockerinspect
来查看Docker的底层信息。
它会返回一个JSON文件记录着Docker容器的配置和状态信息。
~$dockerinspectwizardly_chandrasekhar
[
{
"
Id"
:
bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85"
Created"
2018-09-17T01:
41:
26.174228707Z"
Path"
python"
Args"
[
app.py"
],
State"
Status"
running"
Running"
true,
Paused"
false,
Restarting"
OOMKilled"
Dead"
Pid"
23245,
ExitCode"
0,
Error"
"
StartedAt"
26.494185806Z"
FinishedAt"
0001-01-01T00:
00Z"
},
......
停止WEB应用容器
~$dockerstopwizardly_chandrasekhar
wizardly_chandrasekhar
重启WEB应用容器
已经停止的容器,我们可以使用命令dockerstart来启动。
~$dockerstartwizardly_chandrasekhar
dockerps-l
查询最后一次创建的容器:
#dockerps-l
正在运行的容器,我们可以使用
dockerrestart
命令来重启。
移除WEB应用容器
我们可以使用
dockerrm
命令来删除不需要的容器
~$dockerrmwizardly_chandrasekhar
删除容器时,容器必须是停止状态,否则会报如下错误
~$dockerrmwizardly_chandrasekhar
Errorresponsefromdaemon:
Youcannotremovearunningcontainerbf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85.Stopthecontainerbeforeattemptingremovalorforceremove