Docker系列-常用命令

后台启动容器

docker run -d 容器名
//如果容器内没有任何服务会自动停止

查看容器日志

docker logs [OPTIONS] 容器ID

#可选参数
--details           显示提供给日志的额外详细信息
-f                  跟踪日志输出
--tail n            从日志的末尾开始显示的行数,默认all
-t	                显示时间戳

#启动容器并后台执行一个死循环
[root@localhost ~]# docker run --name testCentos7 -d centos:7 /bin/bash -c "while true; do $(echo date); sleep 1; done"
9f081f3296603d398b18b7a6fbc830fbd1bb6625979b03c7817944ab57fd16f9

#查看当前正在运行的容器
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS     NAMES
9f081f329660   centos:7   "/bin/bash -c 'while…"   7 minutes ago   Up 7 minutes             testCentos7

#从最后10行开始动态显示带时间戳的日志
[root@localhost ~]# docker logs -ft --tail 10 9f081f329660
2021-01-21T10:48:10.093339400Z Thu Jan 21 10:48:10 UTC 2021
2021-01-21T10:48:11.096798400Z Thu Jan 21 10:48:11 UTC 2021
2021-01-21T10:48:12.099495700Z Thu Jan 21 10:48:12 UTC 2021
2021-01-21T10:48:13.103214300Z Thu Jan 21 10:48:13 UTC 2021
2021-01-21T10:48:14.106671000Z Thu Jan 21 10:48:14 UTC 2021
2021-01-21T10:48:15.109254600Z Thu Jan 21 10:48:15 UTC 2021
2021-01-21T10:48:16.111635700Z Thu Jan 21 10:48:16 UTC 2021
2021-01-21T10:48:17.114416800Z Thu Jan 21 10:48:17 UTC 2021
2021-01-21T10:48:18.122134400Z Thu Jan 21 10:48:18 UTC 2021
2021-01-21T10:48:19.125389000Z Thu Jan 21 10:48:19 UTC 2021

查看容器进程

docker top 容器ID

[root@localhost ~]# docker run --name Centos7 -d centos:7 /bin/bash -c "while true; do $(echo date); sleep 1; done"
af63aab2b0778323d7fe3cd423254e72ded32f62f761226700a47de2295529d2
[root@localhost ~]# docker top af63aab2b0778323d7fe3cd423254e72ded32f62f761226700a47de2295529d2
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                26091               26071               0                   18:59               ?                   00:00:00            /bin/bash -c while true; do date; sleep 1; done
root                26186               26091               0                   18:59               ?                   00:00:00            sleep 1

查看容器元数据

docker inspect 容器ID

[root@localhost ~]# docker inspect  8652b9f0cb4c
[
    {
        "Id": "sha256:8652b9f0cb4c0599575e5a003f5906876e10c1ceb2ab9fe1786712dac14a50cf",
        "RepoTags": [
            "centos:7"
        ],
        "RepoDigests": [
            "centos@sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-11-14T00:20:04.644613188Z",
        "Container": "b454ba2d27117a169c53eb4c14faf363cb6aaca84df43408581fb748cc2bf796",
        "ContainerConfig": {
            "Hostname": "b454ba2d2711",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/bin/bash\"]"
            ],
            "Image": "sha256:05e222a9fa848efd0d4dd0969ea27c789a1eff8445d25c4f13f932ead6e3b674",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201113",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS",
                "org.opencontainers.image.created": "2020-11-13 00:00:00+00:00",
                "org.opencontainers.image.licenses": "GPL-2.0-only",
                "org.opencontainers.image.title": "CentOS Base Image",
                "org.opencontainers.image.vendor": "CentOS"
            }
        },
        "DockerVersion": "19.03.12",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "Image": "sha256:05e222a9fa848efd0d4dd0969ea27c789a1eff8445d25c4f13f932ead6e3b674",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201113",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS",
                "org.opencontainers.image.created": "2020-11-13 00:00:00+00:00",
                "org.opencontainers.image.licenses": "GPL-2.0-only",
                "org.opencontainers.image.title": "CentOS Base Image",
                "org.opencontainers.image.vendor": "CentOS"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 203936249,
        "VirtualSize": 203936249,
        "GraphDriver": {
            "Data": {
                "MergedDir": "/var/lib/docker/overlay2/59ae1c03a2f70f7763b9d50e8ca6ad3f55b4bceb782eb290608aa10b11f54d9f/merged",
                "UpperDir": "/var/lib/docker/overlay2/59ae1c03a2f70f7763b9d50e8ca6ad3f55b4bceb782eb290608aa10b11f54d9f/diff",
                "WorkDir": "/var/lib/docker/overlay2/59ae1c03a2f70f7763b9d50e8ca6ad3f55b4bceb782eb290608aa10b11f54d9f/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

进入当前正在运行的容器

docker exec -it 容器ID

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS     NAMES
af63aab2b077   centos:7   "/bin/bash -c 'while…"   5 minutes ago   Up 5 minutes             Centos7
[root@localhost ~]# docker exec -it af63aab2b077 /bin/bash
[root@af63aab2b077 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var


方式二
 docker attach af63aab2b077
 正在执行的代码...
 
 docker exec   开启一个新的终端,可以在里面操作(常用)
 docker attach 进入正在运行的终端,不会创建新的进程

容器文件拷贝到主机

docker cp 容器ID:容器内文件 目的主机路径

[root@localhost ~]# docker run -it centos:7 /bin/bash
[root@0cff857eaf86 /]# cd /home
[root@0cff857eaf86 home]# touch test.java
[root@0cff857eaf86 home]# ll
total 0
-rw-r--r-- 1 root root 0 Jan 21 11:20 test.java

//ctrl + p + Q后台退出容器
[root@0cff857eaf86 home]# [root@localhost ~]# ls
3000  anaconda-ks.cfg

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND       CREATED         STATUS         PORTS     NAMES
0cff857eaf86   centos:7   "/bin/bash"   5 minutes ago   Up 5 minutes             clever_euclid
[root@localhost ~]# docker cp 0cff857eaf86:/home/test.java /root
[root@localhost ~]# ls
3000  anaconda-ks.cfg  test.java

这是手动操作,以后使用 -v 卷技术可以实现

原文出处: https://www.kuangstudy.com/bbs/1352801874335571969

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
docker run -p是docker的一个命令,用于创建一个新的容器并运行一个命令。具体的参数可以根据需要进行设置。其中,-p参数用于将主机端口与容器端口进行映射。有以下三种写法可以使用: 1. docker run -p ip:主机端口:容器端口 2. docker run -p 主机端口:容器端口(常用) 3. docker run -p 容器端口 举个例子,假设我们要运行一个名为jenkins2的容器,并将主机的8080端口映射到容器的8080端口,可以使用以下命令: docker run -d --name jenkins2 --restart always -p 8080:8080 jenkins/jenkins 这样,在Docker重启后,jenkins2容器会自动启动,并且主机的8080端口将与容器的8080端口进行映射。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【Docker系列】从头学起 Docker——docker run 命令详解](https://blog.csdn.net/qq_45547688/article/details/125785419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Docker命令总结:run](https://blog.csdn.net/qq_47346664/article/details/119887657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

占星安啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值