docker - 编辑容器内部文件

使用 exec 命令进入到容器内部

这是 docker 基础命令,必须学会

# 完整命令
docker exec -it [container_id] /bin/bash
# 可以简写
docker exec -it [container_id] bash

# 容器内,一般不会装太多软件,通常只能用一些基础命令
# 例如:编辑只能用 vi 命令;只能用 ls -l 命令;等等

# 想要退出容器的话,使用 exit 命令

更多 exec 可用的命令

docker exec -help
    -d, --detach                Detached mode: run command in the background
    --detach-keys string        Override the key sequence for detaching a container
    -e, --env list              Set environment variables (default )
    --env-file list             Read in a file of environment variables
    -i, --interactive           Keep STDIN open even if not attached
    --privileged                Give extended privileges to the command
    -t, --tty                   Allocate a pseudo-TTY
    -u, --user string           Username or UID (format: "<name|uid>[:<group|gid>]")
    -w, --workdir string        Working directory inside the container

翻译:

    -d, --detach                离模式:在后台执行命令
    --detach-keys string        覆盖分离容器的键序列
    -e, --env list              设置环境变量(默认)
    --env-file list             读取环境变量的文件
    -i, --interactive           保持STDIN打开,即使没有附加
    --privileged                赋予该命令扩展权限
    -t, --tty                   分配一个伪tty
    -u, --user string           用户名或UID(格式:"<name| UID >[:<group|gid>]")
    -w, --workdir string        容器内的工作目录

使用挂载

部署软件的时候,在 run 命令中,增加 -v 参数,将宿主机的文件目录,挂载到容器内部。

这样,修改挂载目录中的文件,容器就能读到,不过能不能生效,要看你改的是什么文件,有时候需要重启容器。

样例:

# 将主机的 /root/tomcat/webapps 挂载到容器的 /usr/local/tomcat/webapps 目录。
docker run -d -p 8080:8080 --name tomcat_hello -v /root/tomcat/webapps:/usr/local/tomcat/webapps tomcat:8

复制文件到容器内部

docker cp [file] [container_id]:[target]

# 将 test.txt 复制到容器的根目录,路径根目录通常是:/root
docker cp test.txt [container_id]:/

posted on 2023-05-26 15:41  疯狂的妞妞  阅读(375)  评论(0编辑  收藏  举报

导航