コマンド
docker cp <コンテナIDまたはコンテナ名>:コピーしたいファイルのパス コピー先パス
でコピーできる。
レファレンスはこちら。
実例
dockerでoracleを動かしていて、接続情報を確認したくなったので、tnsnames.oraをコピーする。
コンテナID指定の場合
# コンテナID調べる(CONTAINER ID)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3e6c3fd1a85 oracle/database:19.3.0-ee "/bin/sh -c 'exec $O…" 2 hours ago Up 2 hours (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp orcl
# コピーする
$ docker cp d3e6c3fd1a85:/opt/oracle/oradata/dbconfig/ORCLCDB/tnsnames.ora ./
# コピーできたか確認
$ find tnsnames.ora
tnsnames.ora
コンテナ名指定の場合
# コンテナ名を調べる(NAMES)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3e6c3fd1a85 oracle/database:19.3.0-ee "/bin/sh -c 'exec $O…" 2 hours ago Up 2 hours (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp orcl
# コピーする
$ docker cp orcl:/opt/oracle/oradata/dbconfig/ORCLCDB/tnsnames.ora ./
# コピーできたか確認
$ find tnsnames.ora
tnsnames.ora
環境情報
$ docker version
Client: Docker Engine - Community
Cloud integration 0.1.18
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 16:58:31 2020
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:07:04 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H2