摘要:正確的拷貝方式從主機(jī)向容器中拷貝數(shù)據(jù)時,其實(shí)采用的是一種通道的方式。返回的是完整的容器。進(jìn)入容器,查看文件。宿主機(jī)向容器拷貝數(shù)據(jù)成功。
操作系統(tǒng)
[root@Optimus /]# uname -a Linux Optimus 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [root@Optimus /]# cat /etc/issue CentOS release 6.6 (Final) Kernel on an m
docker版本
[root@Optimus /]# docker version Client version: 1.7.1 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 786b29d/1.7.1 OS/Arch (client): linux/amd64 Server version: 1.7.1 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 786b29d/1.7.1 OS/Arch (server): linux/amd64
docker容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fc289f421957 insaneworks/centos "/bin/bash" 47 hours ago Up 47 hours master
下載java7的rpm包
選擇的是jdk-7u75-linux-x64.rpm
放到宿主機(jī)的/usr/java/目錄下
[root@Optimus /]# cd /usr/java [root@Optimus java]# ls jdk-7u75-linux-x64.rpm
從宿主機(jī)向docker容器中拷貝數(shù)據(jù)
1) 失敗的拷貝方式
從docker容器中向主機(jī)拷貝文件 docker cp containerID:container_path host_path
從主機(jī)復(fù)制到容器docker cp host_path containerID:container_path
我嘗試用以上方式傳送文件至docker容器中時會報(bào)錯
[root@Optimus java]# docker cp jdk-7u75-linux-x64.rpm master:/mnt/ Error: Path not specified
報(bào)錯提示一直都是Error: Path not specified。
2) 正確的拷貝方式
從主機(jī)向docker容器中拷貝數(shù)據(jù)時,其實(shí)采用的是一種通道的方式。
首先,要用docker inspect方法獲得容器的完整ID
[root@Optimus java]# docker inspect -f "{{.Id}}" master fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4
這里的master可以是container name也可以是短的container ID。返回的fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4是完整的容器ID。
然后,使用通道拷貝數(shù)據(jù)
[root@Optimus java]# cp /usr/java/jdk-7u75-linux-x64.rpm /var/lib/docker/aufs/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4/root/ cp: cannot create regular file `/var/lib/docker/aufs/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4/root/": No such file or directory
報(bào)錯No such file or directory
進(jìn)入到/var/lib/docker/目錄下,確實(shí)沒有/aufs這個目錄。
[root@Optimus /]# cd /var/lib/docker [root@Optimus docker]# ls containers devicemapper graph init linkgraph.db repositories-devicemapper tmp trust vfs volumes
在docker容器中可以看到有以下目錄
[root@Optimus containers]# docker exec -it master /bin/bash [root@master /]# ls bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var
查找一下docker容器相關(guān)的目錄,fc289f421957df7d03146是容器的ID號。
[root@Optimus containers]# find / -name fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4 /var/run/docker/execdriver/native/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4 /var/lib/docker/devicemapper/metadata/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4 /var/lib/docker/devicemapper/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4 ...
發(fā)現(xiàn)目錄/var/lib/docker/devicemapper/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4 。
因此,在docker中,其實(shí)是映射到/var/lib/docker/devicemapper/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4/這個文件夾中的。這個文件下面就是docker中的根目錄里面的內(nèi)容,然后我們就可以按照我們想要的內(nèi)容隨便進(jìn)行拷貝。
開始拷貝??截惖絤aster容器中的mnt目錄下。(為什么要加/rootfs/這個目錄我也不記得什么鬼了。)
[root@Optimus /]# cp /usr/java/jdk-7u75-linux-x64.rpm /var/lib/docker/devicemapper/mnt/fc289f421957df7d03146ab54030aa648ec78118d00d3063cdeb8966b6c223f4/rootfs/mnt
進(jìn)入容器,查看文件。宿主機(jī)向docker容器拷貝數(shù)據(jù)成功。
[root@Optimus /]# docker exec -it master /bin/bash [root@master /]# ls bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var [root@master /]# cd mnt [root@master mnt]# ls jdk-7u75-linux-x64.rpm
安裝java
添加可執(zhí)行權(quán)限。
[root@master mnt]# chmod +x jdk-7u75-linux-x64.rpm [root@master mnt]# ls jdk-7u75-linux-x64.rpm
安裝。
[root@master mnt]# rpm -ivh jdk-7u75-linux-x64.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files... rt.jar... jsse.jar... charsets.jar... tools.jar... localedata.jar... jfxrt.jar...
配置環(huán)境變量:
編輯profile文件
vim /etc/profile
在profile文件最后追加入如下內(nèi)容:
export JAVA_HOME=/usr/java/jdk1.7.0_75 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin #以下是Hadoop配置 export HADOOP_HOME=/mnt/hadoop-2.8.2 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
保存并退出。
執(zhí)行如下
#source /etc/profile
java版本
[root@Optimus /]# java -version java version "1.6.0_38" Java(TM) SE Runtime Environment (build 1.6.0_38-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
參考:http://blog.csdn.net/sonnet12...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/68002.html
摘要:正確的拷貝方式從主機(jī)向容器中拷貝數(shù)據(jù)時,其實(shí)采用的是一種通道的方式。返回的是完整的容器。進(jìn)入容器,查看文件。宿主機(jī)向容器拷貝數(shù)據(jù)成功。 操作系統(tǒng) [root@Optimus /]# uname -a Linux Optimus 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 G...
摘要:是源碼,要編譯才能用。的是給位機(jī)器用的,想在位機(jī)器上用只能用編譯的。解壓配置環(huán)境變量在和中添加環(huán)境變量添加環(huán)境變量修改修改修改文件修改在文件中添加鏡像啟動集群進(jìn)入到每個節(jié)點(diǎn)執(zhí)行每個節(jié)點(diǎn)配置查看地址配置啟動查看參考 docker安裝 安裝 yum install -y epel-releas yum install docker-io 加入開機(jī)啟動 chkconfig docker on...
閱讀 2508·2021-11-15 11:38
閱讀 1955·2021-11-05 09:37
閱讀 2270·2021-10-08 10:12
閱讀 2812·2019-08-30 15:55
閱讀 2115·2019-08-30 15:52
閱讀 1228·2019-08-29 13:24
閱讀 468·2019-08-26 18:27
閱讀 1478·2019-08-26 18:27