• docker 常用命令和参数


    docker run

    参数含义
    -i表示交互式运行容器
    -t表示容器启动后会进入命令行。加上-it后,容器创建后就会分配一个伪终端
    –name为创建的容器命名
    -v表示目录映射关系或者容器卷
    使用方式为 -v 宿主机路径/卷名:容器路径:选项列表
    如果是宿主机路径,必须使用绝对路径。选项列表可以ro/rw
    可以使用多个-v做多个目录或文件映射。
    注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
    -p–public,表示端口映射,前者是宿主机端口,后者是容器内的映射端口。
    可以使用多个-p做多个端口映射
    -d创建一个守护式容器在后台运行
    –rm容器退出后即被删除。默认情况下,退出的容器并不会立即删除。在测试时,这个参数很有用,可以避免浪费空间。
    –gpus等于all时,可以使用宿主机上所有的GPU显卡。对于docker 18之前的版本,用nvidia-docker命令来使用GPU

    快捷查询

    实现目标docker命令
    退出容器同时终止容器运行exit或者ctr+d
    退出容器但是不终止容器运行ctr+p+q
    在容器外终止容器运行docker stop
    重启容器docker restart
    查看运行中的容器docker ps
    查看所有容器,包括已经停止运行的docker ps -a
    删除容器docker rm 容器名字/id
    删除镜像docker rmi imagename
    查看docker镜像是如何build的
    我一般会用这个命令查看最后一条cmd命令,也就是docker的启动命令。
    docker history
    在运行的容器中执行命令docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
    连接到正在运行的容器docker attach [OPTIONS] CONTAINER
    将容器保存为镜像docker commit [选项] [容器ID或容器名] [仓库名:标签]

    命令具体说明

    在运行的容器中执行命令

    docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
    
    • 1

    以下示例以交互式的方式进入ubuntu容器,其中bash是执行的command,打开一个交互式的shell。

    docker exec -it ubuntu bash
    
    • 1

    用这种方式进入容器后用exit或者ctr+d的方式退出,并不会终止原容器的运行,但是docker attach会。

    连接到正在运行的容器

    docker attach [OPTIONS] CONTAINER
    
    • 1

    要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。

    官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上–sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。

    将容器保存为镜像

    保存的格式:

    docker commit [选项] [容器ID或容器名]  [仓库名:标签]
    
    • 1

    例子:

    docker commit -a 'weikaixxxxxx' -m '导入了数据库' 9adeb5943045  mysql:v2
    
    • 1

    其中:
    -a: 修改人
    -m: 备注

    docker服务启动、重启、关闭

    启动systemctl start docker
    守护进程重启systemctl daemon-reload
    重启docker服务systemctl restart docker
    重启docker服务service docker restart
    关闭dockerservice docker stop
    关闭dockersystemctl stop docker
  • 相关阅读:
    Kotlin File writeText appendText appendBytes readBytes readText
    Java第三方登录封装工具类
    LazSerial - 二进制数据传输方式
    广告联盟是什么?app开发者如何选择广告联盟?
    Executor接口实现线程池管理
    Redis-Cluster集群的部署(详细步骤)
    解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN
    2023国家网安周 | 开源网安点亮多地,播撒安全意识之种
    二叉树——遍历:按层次非递归遍历、先序非递归、先中后序递归遍历二叉树的链表结构【C语言,数据结构】(内含源代码)
    12_文件操作
  • 原文地址:https://blog.csdn.net/weixin_39925939/article/details/125319504