容器在后台运行(坑!!)

    1. docker run -d 镜像名
    2. [root@Box vulhub]# docker run -itd centos /bin/bash
    3. bec648f8472745ee97e95841640c978a3e290a766f6921f8f86e7f95bb2c2a2f
    4. # 问题docker ps ,发现 无容器运行
    5. # 坑:docker 容器使用后台运行,就需要一个前台进程,docker 未发现应用,就会停止

    查看容器日志信息

    1. # 命令:
    2. docker logs -ft --tail 10 容器ID
    3. # 让容器执行shell脚本
    4. [root@Box vulhub]# docker run -d centos /bin/bash -c "while true;do echo hello; sleep 2;done"
    5. # 查看容器ID
    6. [root@Box vulhub]# docker ps
    7. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    8. 2144f058ce21 centos "/bin/bash -c 'while…" 11 seconds ago Up 8 seconds awesome_bhabha
    9. # 查看日志信息
    10. [root@Box vulhub]# docker logs -ft --tail 10 2144f058ce21
    11. 2021-03-06T16:28:12.219624265Z hello
    12. 2021-03-06T16:28:14.228283755Z hello
    13. 2021-03-06T16:28:16.240041410Z hello
    14. 2021-03-06T16:28:18.249025614Z hello
    15. 2021-03-06T16:28:20.259567189Z hello
    16. 2021-03-06T16:28:22.267834912Z hello
    17. 2021-03-06T16:28:24.271062377Z hello
    18. 2021-03-06T16:28:26.273974644Z hello
    19. 2021-03-06T16:28:28.277808170Z hello
    20. ....
    21. # 选项解释
    22. -f,--follow跟随日志输出
    23. --since string显示自时间戳记(例如2013-01-02T132337)或相对时间戳记以来的日志(例如42m,持续42分钟)
    24. --tail字符串从日志末尾开始显示的行数(默认为“全部”)
    25. -t,--timestamps显示时间戳
    26. --until string在时间戳(例如2013-01-02T132337)或相对(例如42m持续42分钟)之前显示日志

    查看容器内部的进程信息

    1. # 命令
    2. docker top 容器ID
    3. [root@Box vulhub]# docker top 8a984e8f009f
    4. UID PID PPID C STIME TTY TIME CMD
    5. root 20082 20065 0 00:13 pts/0 00:00:00 /bin/bash

    查看镜像的元数据

    1. # 命令
    2. docker inspect 容器ID
    3. [root@Box vulhub]# docker inspect 8a984e8f009f

    进入当前正在运行的容器

    1. # 经常需要进入容器修改配置
    2. # 命令一
    3. docker exec -it 容器ID bashshell
    4. [root@Box vulhub]# docker exec -it 8a984e8f009f /bin/bash
    5. # 命令二
    6. docker attach 容器ID
    7. [root@Box vulhub]# docker attach 4a184cfcfc88
    8. # 比较
    9. # docker exec 会创建一个新的终端
    10. # docker attach #进入正在与运行的终端

    从容器内拷贝文件到宿主机

    1. # 命令
    2. docker cp 容器ID:dir dir
    3. [root@Box ~]# docker cp 4a184cfcfc88:/test.java .

    commit 镜像

    1. docker commint 提交容器生成一个新的副本
    2. # 与git命令类似
    3. docker commit -a="作者" -m="提交的信息" 容器ID 镜像名:[TAG]
    4. e.g.
    5. docker commit -a="Box" -m="add webapps app" 9e48b4ffe492 tomcat2:1.0