# docker文件操作

# 1 查看容器ID

命令行查看容器ID(CONTAINER ID),语法如下:

docker ps
1

# 1.1 window示例

C:\Users\Administrator>docker ps
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS              PORTS                                        NAMES
ee7aaaf849fb        oryd/oathkeeper:v0.35.5-beta.1           "oathkeeper serve pr…"   2 minutes ago       Up 2 minutes        0.0.0.0:4455-4456->4455-4456/tcp             kratos-test_oathkeeper_1
d2cb4d5b4ab4        oryd/kratos:latest-sqlite                "kratos serve -c /et…"   3 minutes ago       Up 3 minutes        0.0.0.0:4433-4434->4433-4434/tcp             kratos-test_kratos_1
5aa8cc911de5        oryd/kratos-selfservice-ui-node:latest   "/bin/sh -c 'npm run…"   3 minutes ago       Up 3 minutes        3000/tcp, 0.0.0.0:4435->4435/tcp             kratos-test_kratos-selfservice-ui-node_1
84979d7ac183        mailhog/mailhog:v1.0.0                   "MailHog"                3 minutes ago       Up 3 minutes        1025/tcp, 8025/tcp, 0.0.0.0:8025->4436/tcp   kratos-test_mailhog_1
1
2
3
4
5
6

# 2 进入docker容器

使用ls命令浏览容器里的文件,语法如下:

docker exec -it [CONTAINER ID] ls
1

# 2.1 示例代码

查看d2cb4d5b4ab4这个容器id项目根目录的文件列表

C:\Users\Administrator>docker exec -it d2cb4d5b4ab4 ls /
bin    etc    lib    mnt    proc   run    srv    tmp    var
dev    home   media  opt    root   sbin   sys    usr
1
2
3

# 3 复制docker文件到本地

使用docker cp复制docker容器文件到本地,语法如下:

docker cp  [CONTAINER ID]:[docker容器源文件路径] [本地目标路径地址]
1

# 3.1 复制文件举例

docker cp d2cb4d5b4ab4:/home/ory/sqlite E:/sqlite.db
1

# 4 修改docker中的文件

语法如下:

docker  exec -it  [CONTAINER ID] vi [需要修改的文件路径]
1

# 4.1 修改文件举例

修改容器中sqlite.db这个文件内容,和linux的vi操作一致

docker exec -it d2cb4d5b4ab4 vi /home/ory/sqlite/sqlite.db
1
上次更新: 2020-7-11 0:26:35