Docker文件迁移
2017-07-21 本文已影响0人
点点渔火
容器的创建
docker run -p 8888:8888 paddlepaddle/book
docker run --name paddlelearning -v $PWD/book:/usr/src/ -itd docker.paddlepaddle.org/paddle:latest /bin/bash
启动一个名为paddlelearning的container, 并进入交互模式(exit或者bye退出) 镜像使用docker.paddlepaddle.org/paddle:latest, 将主机的$PWD/book文件挂载到该容器/user/sec/目录,
-d 后台模式 -i 交互 -t 容器的伪终端
docker run --name paddlelearning -v $PWD/book:/usr/src/ -w /usr/src/01.fit_a_line -itd docker.paddlepaddle.org/paddle:latest python train.py
在上一条命令的基础上, -w 进入到容器的/usr/src/01.fit_a_line目录, 并执行python train.py 命令
docker进入
http://blog.csdn.net/u010397369/article/details/41045251
docker命名
http://www.dockerinfo.net/3689.html
docker attach # 打印容器终端输出
docker exec # 在容器里执行一个命令,可以执行bash进入交互式
- nsenter
nsenter可以访问另一个进程的名称空间。所以为了连接到某个容器我们还需要获取该容器的第一个进程的PID。可以使用docker inspect命令来拿到该PID。
docker inspect命令使用如下 获取指定容器的PID:
sudo docker inspect --help
nsenter --target $PID --mount --uts --ipc --net --pid
- docker exec
sudo docker exec --help
sudo docker exec -it 775c7c9ee1e1 /bin/bash
·```
docker exec -it CONTAINER_NAME /bin/bash
apt-get install vim 容器内安装vim(默认是没有的, 可以安装好以后重新打包一个镜像)
### 文件的复制
1, 从 主机(host) 到 container
docker run -v /path/to/hostdir:/mnt $container 挂载主机文件到container内
cp /mnt/sourcefile /path/to/destfile 容器内部拷贝
Get container name or short container id :
docker ps
Get full container id
docker inspect -f '{{.Id}}' SHORT_CONTAINER_ID-or-CONTAINER_NAME
copy file :
sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
EXAMPLE :
$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8e703d7e303 solidleon/ssh:latest /usr/sbin/sshd -D cranky_pare
$docker inspect -f '{{.Id}}' cranky_pare
or
$docker inspect -f '{{.Id}}' d8e703d7e303
d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5
$sudo cp file.txt /var/lib/docker/aufs/mnt/d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5/root/file.txt
2 从 container 到 主机(host)
使用 docker cp 命令
docker cp <containerId>:/file/path/within/container /host/path/target