docker学习记录(六)--容器使用

本文记录了如何使用Docker创建后台运行的容器,并演示了如何运行一个Web应用,包括拉取镜像、容器后台运行、端口映射及查看容器状态等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建一个后台运行进程的容器

[dkuser@c741 ~]$ docker run -d ubuntu:15.10 /bin/sh -c "while true;do echo hello world;sleep 1;done"

93201dcb067f1c55c173366a80162fca7c7a6f472c26f186376cb080fb84dd4a

 

查看容器

[dkuser@c741 ~]$ docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES

93201dcb067f        ubuntu:15.10        "/bin/sh -c 'while t…"   35 seconds ago      Up 34 seconds                           fervent_engelbart

 

查看日志,最后的参数是容器的ID,也可以换成容器名 fervent_engelbart

[dkuser@c741 ~]$ docker logs 93201dcb067f

hello world

hello world

hello world

hello world

hello world

....

 

再次查看日志会发现输出的内容增加了,说明容器一直在运行,输出的进程一直在执行。

 

停止容器

[dkuser@c741 ~]$ docker stop 93201dcb067f

 

2、运行一个web应用

载入镜像

[dkuser@c741 ~]$ docker pull training/webapp

 

运行容器

[dkuser@c741 ~]$ docker run -d -P training/webapp python app.py

 

参数说明:

-d:让容器在后台运行

-P:将容器内部使用的网络端口映射到我们使用的主机上

 

查看容器

[dkuser@c741 ~]$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES

faa9d63a07b8        training/webapp     "python app.py"     5 seconds ago       Up 4 seconds        0.0.0.0:32768->5000/tcp   zealous_cohen

 

可以看到端口信息,这里做了端口的映射,docker容器的5000端口映射到主机端口32768。

 

可以使用浏览器访问WEB应用

地址:http://192.168.121.129:32768/

 

使用 -p 设置不一样的端口 

[dkuser@c741 ~]$ docker run -d -p 5000:5000 training/webapp python app.py

 

查看新启动的容器

[dkuser@c741 ~]$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES

e6f226450c90        training/webapp     "python app.py"     5 seconds ago       Up 5 seconds        0.0.0.0:5000->5000/tcp    clever_hertz

faa9d63a07b8        training/webapp     "python app.py"     3 minutes ago       Up 3 minutes        0.0.0.0:32768->5000/tcp   zealous_cohen

 

使用浏览器可以通过新的端口访问WEB应用

地址:http://192.168.121.129:5000

 

查看容器端口映射到宿主机端口的情况

[dkuser@c741 ~]$ docker port e6f226450c90

5000/tcp -> 0.0.0.0:5000

 

可以加入 -f 参数查看容器实时日志,类似tail -f 

[dkuser@c741 ~]$ docker logs -f e6f226450c90

 

查看容器进程

[dkuser@c741 ~]$ docker top e6f226450c90

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD

root                21127               21111               0                   11:12               ?                   00:00:00            python app.py

 

查看容器底层信息

[dkuser@c741 ~]$ docker inspect clever_hertz

[

    {

        "Id": "e6f226450c90c65f394cd0862fc058a38ec457821d189779b9ded7e9208d0a24",

        "Created": "2019-04-25T03:12:02.032267436Z",

        "Path": "python",

        "Args": [

            "app.py"

        ],

        "State": {

            "Status": "running",

            "Running": true,

            "Paused": false,

.....

 

重启容器

对于正在启动的容器可以使用restart重启

[dkuser@c741 ~]$ docker restart clever_hertz

 

查询最后一次创建的容器

[dkuser@c741 ~]$ docker ps -l

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES

e6f226450c90        training/webapp     "python app.py"     6 minutes ago       Exited (137) 35 seconds ago                       clever_hertz

 

参考:

https://www.runoob.com/docker/docker-tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值