• Docker学习笔记 2 更多的容器命令


    1 启动守护式容器 docker run -d

    fa7ff04b376967d443cf8fdf160ba40ce269bf3cd21118553dfe1b6faf6532ce 是启动的容器的id

    但是docker ps一下发现并没有活着的进程?因为docker容器后台运行,就必须有一个前台进程

    容器运行的命令 如果不是那些一直挂起的命令(比如运行top、tail),就会自动退出

    这个是docker的机制问题,比如你的web容器,我们以nginx为例,正常情况下,我们配置启动服务只需要启动响应的service即可。例如

    service nginx start

    但是,这样做的nginx为后台进程模式运行,就导致docker前台没有运行的应用,

    这样的容器后台启动后,会立即自杀。因为他觉得没事可以做了。所以,最佳的解决方案是,将你要运行的程序以前台进程的形式运行

    2 查看容器日志 docker logs 容器id

    2.1 -t是加入时间戳

    2.2 -f 跟随最新的日志打印

    2.3 --tail数字 显示最后多少条

    https://www.runoob.com/docker/docker-logs-command.html更多使用方法

    3 查看容器内运行的进程 docker top 容器id



    相当于linux也有top命令查看进程

    4 查看容器内部细节 docker inspect 容器id

     

    5 进入正在运行的容器并以命令行交互

    5.1 重新进入docker attach 容器id

    启动一个容器

    在另一个窗口进入

    按ctrl+Q+P退出

    5.2 docker exec -it 容器id bashShell

    OPTIONS说明:

    • -d :分离模式: 在后台运行

    • -i :即使没有附加也保持STDIN 打开

    • -t :分配一个伪终端

    在宿主机外面执行,没有进入容器。

    5.3 exec与attach的区别

    attach:

    直接进入容器启动命令的终端,不会启动新的进程

    exec:

    在容器中打开新的终端,并且可以启动新的进程。功能更强大,可以在外面操控容器内部。

    attach 相当于 docker exec -t 容器id  /bin/bash

    这样也可以进入容器

    6 从容器内的数据拷贝文件到主机上 docker cp 容器id:容器内路径 目的主机路径

    docker cp a0c38e6f2640:/tmp/ks-script-eusq_sc5 ~

     总结

  • 相关阅读:
    ruby计算平方和开方
    Silverlight中DataGrid翻页或者滚动时CheckBox/RadioButton显示的问题
    bat文件设置ip地址
    gcc编译多线程
    TCP Nagle算法
    fork父子进程 信号处理
    Unix守护进程的创建示例
    inline内联函数
    volatile类型
    ioctl获取接口名称、IP地址、MAC地址、广播地址等
  • 原文地址:https://www.cnblogs.com/polax/p/14342741.html
Copyright © 2020-2023  润新知