1.宿主机的内容拷贝到启动的docker容器中
1查看docker容器状态
docker ps-a
2如果没有启动docker容器则启动docker容器
docker start 容器名或者容器ID
3.进入容器
docker exec -it 容器名/容器ID /bin/bash
4.克隆宿主机会话并在宿主机创立文件
(1)进入容器的根目录
cd /
(2)创建jhj文件,并写入内容123456
echo 123456 > jhj
(3)拷贝到docker容器中
docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目录
举例因为文件是在根目录,所以拷贝方法注意:容器的ID后面接的:并且之间没有空格
docker cp /jhj2 a42ab1c81128:/jhj2
所以在容器下面也能查看到这个文件
将docker容器中的文件拷贝到宿主机
1先在docker容器下面创建一个文件
echo 123456 >jhj
2拷贝文件
docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录
以根目录创建文件为例展示命令注意容器iID后面接的:与容器ID之间没有空格,后面接将要复制的文件地址再空格接复制到宿主机的位置
docker cp a42ab1c81128:/jhj /
数据目录挂载(目录映射)
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。使用 -v 选项(也就是docker帮我们实时更新文件)
docker run -id -v /宿主机绝对路径目录:/docker容器内目录 --name=容器名 镜像名
举例宿主机和docker容器都在opt文件夹下面映射
(1)生成一个数据目录挂载的docker容器
docker run -id -v /opt:/opt --name=jhj6 centos:7
(2)在宿主机的映射文件夹中修改东西,(添加jhj文件)
注意写入文件的时候的echo后面文字与>之间有空格
echo jhjjhj >/opt/jhj.txt
(3)查看docker容器之中是否创建
docker 容器数据目录挂载并设置只读权限
实现挂载的目录只有 只读(Read-only)权限,命令如下 :
docker run -id -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名
(1)例如宿主机创建jhj文件docker创建lcr文件夹(当然如果没有创建的时候它会自动生成)
docker run -id -v /jhj:/lcr:ro --name=jhj7 centos:7
当然我这里用的是-it这样创建的容器,创建好了就会自动进入容器,如果用exit命令退出,容器就会关闭,所以用cotrl+q+p就能退到后台不会关闭容器
(2)因为前面的是用jhj作为文本形式,所以在宿主容器中jhj没有被创建也就是文本形式存在,所以docker容器中lcr被创建也是文本形式创建
由图可见在docker容器中操作lcr文件不能保存只能readOnly
查看容器详情
查看容器运行内部细节,比如可看容器的IP
docker inspect 容器名:容器ID
查看容器IP
docker inspect --format='{{.NetworkSettings.IPAddress}}` 容器名
删除容器注意只能删除停止的容器
docker rm `docker ps -a -q`