美文网首页Docker容器程序员
Docker命令-docker exec

Docker命令-docker exec

作者: 泥称已被栈用 | 来源:发表于2018-12-27 14:32 被阅读9次

    docker exec

    原文

    描述

    在运行的容器中执行命令

    使用

    $ docker exec [options] container command [arg...]
    

    选项

    名称 默认 描述
    --detach, -d 后台运行模式,在后台执行命令相关命令
    --detach-keys 覆盖容器后台运行的一些参数信息
    --env, -e 设置环境变量
    --interactive, -i 展示容器输入信息STDIN
    --privileged 为命令提供一些扩展权限
    --tty, -t 命令行交互模式
    --user, -u 设置用户名(format: <name|uid>[:<group|gid>])
    --workdir, -w 指定容器内的目录

    docker exec是需要容器处于运行中且PID 1进程也处于运行中才能执行的操作。命令执行后会进入容器的默认工作目录,如果在Dockerfile中指定了工作目录,则会进入Dokcerfile指定的目录,如果命令中指定了工作目录-w则会进入该目录。

    使用示例

    1. 启动一个容器,并且开启一个bash会话。
    $ docker run --name ubuntu_bash --rm -i -t ubuntu bash
    
    1. 后台执行命令并且在容器内创建一个文件。
    $ docker run -d ubuntu_bash touch /tmp/execWorks
    
    1. 执行命令,开启一个新的bash会话。
    $ docker exec -it ubuntu_bash bash
    
    1. 执行命令并设置环境变量
    $ docker exec -e VAR=1 ubuntu_bash bash
    

    注意:这里的环境变量只会在这次会话中生效。

    $ docker exec -it ubuntu_bash bash
    
    1. 可以通过命令查看容器默认工作目录。
    $ docker exec -it ubuntu_bash pwd
    /
    
    1. 执行命令并进入指定的工作目录
    $ docker exec -ti -w /root ubuntu_bash pwd
    /root
    
    1. 也可以直接指定bash目录进入终端
    $ docker exec -ti ubuntu_bash /bin/bash
    

    相关文章

      网友评论

        本文标题:Docker命令-docker exec

        本文链接:https://www.haomeiwen.com/subject/hgvrlqtx.html