docker安裝文檔

Docker離線安裝以及本地yum源構建
http://blog.csdn.net/joniers/article/details/64122820
http://blog.csdn.net/wsscy2004/article/details/25878363git

在線安裝
yum install –downloadonly –downloaddir=/home/docker-ce/dockerRpm docker-ce docker

離線安裝
一、備份原yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bkjson

二、vim /etc/yum.repos.d/docker-ce.repo
[docker]
name=docker
baseurl=file:///opt/dockerRpm
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7ubuntu

三、createrepo -d /opt/dockerRpm
--yum repolist
yum clean all
yum makecache
--yum list 看是否輸出了新的rpm包,若是能查詢到,證實配置成功vim

四、yum -y install docker-cecentos

五、還原原yum源
mv /etc/yum.repos.d/CentOS-Base.repo.bk /etc/yum.repos.d/CentOS-Base.repotomcat

基本命令
啓動docker
service docker startbash

查看鏡像
docker images
docker images centosapp

配置Docker中國區官方鏡像
http://blog.csdn.net/zzy1078689276/article/details/77371782
一、vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
二、使docker的配置文件生效
systemctl daemon-reload
systemctl restart dockerssh

搜索鏡像
docker search centos | grep 6

拉取鏡像
docker pull centos:centos6
docker run centos 運行,不存在會自動拉取

建立新容器並運行bash
docker run -it centos:centos6 #前臺啓動
docker run -dit centos:centos6 #僅僅啓動時放後臺(僅-d 運行不了)
中止docker服務,全部的容器都會中止

顯示全部容器
docker ps -a

查看後臺運行的容器
docker logs [-f] id/name 輸出容器日誌 -f:實時輸出

啓動存在的容器
docker start id/name

鏈接啓動的容器
docker attach id/name

中止存在的容器
docker stop id/name

容器內退出
ctrl + D (exit) 退出並中止
[ctrl + P][ctrl + Q] 僅退出

在容器中執行命令,[ctrl+D]退出後,不會終止容器運行
docker exec -it [CONTAINER_NAME or CONTAINER_ID] /bin/bash

刪除未運行容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
-q : 靜默模式,只顯示容器編號。

刪除全部容器
docker ps -a | awk '{print $1 }'|xargs docker rm

刪除鏡像
docker rmi centos:lastest #lastest爲tag
docker rmi 7ea307891843 #7ea307891843爲IMAGE ID
docker images |grep none |awk '{print $3}'|xargs docker rmi [-f]

刪除全部鏡像
docker rmi $(docker images -q)

#構建新鏡像:
docker build -t centos6:memcached ./memcached #./memcached目錄下有Dockerfile文件

#運行新鏡像:
docker run -d -p 11211:11211 centos6:memcached
docker run --device=/dev/sda:/dev/xvdc:r 掛載硬件

#docker中止運行的鏡像
docker stop/kill container_id
docker stop `docker ps | grep memcached |awk { 'print $1'}`

建立容器 且不採用分配的容器id 使用自定義名字
docker run -dit --name myconn

查看鏡像/容器信息
docker inspect [ image_name, image_id,container_name,container_id,]

建立容器(選項全)
-e 將自定義環境變量傳入容器
docker run -dit --privileged=true -e P_HOST=172.17.0.1 -p 9100:9100 --device=/dev/bus/usb/002/020:/dev/dog/superdog/superdog:r -v /opt:/opt --name fosafer_docker centos:centos6 /bin/bash

ln -sf /dev/bus/usb/001/017 /dev/dog/superdog/1-2.1

docker run -dit --privileged=true -e P_HOST=172.17.0.1 -p 9100:9100 --device=/dev/bus/usb/001/017:/dev/dog/superdog/1-2.1:r -v /opt:/opt --name fosafer_docker(容器名) centos:centos6(鏡像名/ID) /bin/bash

在docker下載ubuntu和分享/dev/ttyUSB0
使用可使用訪問USB設備沒有–privileged模式:
docker run -t -i --device=/dev/ttyUSB0 ubuntu bash
或者,假設您的USB設備可用於在/ dev / bus / usb中的主機上的驅動程序工做等,您可使用特權模式和volumes選項將其裝入容器。例如:
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb ubuntu bash

數據傳輸
正確
docker cp haha:/src dest
docker cp src haha:/dest

主機讀容器
docker cp <containerId>:/file/path/within/container /host/path/target

主機寫容器
推薦
docker inspect -f '{{.Id}}' haha
顯示 d8e70
cp file.txt /var/lib/docker/aufs/mnt/**d8e

1.用-v掛載主機數據捲到容器內
docker run -v /path/to/hostdir:/mnt $container
在容器內拷貝
cp /mnt/sourcefile /path/to/destfile

2.直接在主機上拷貝到容器物理存儲系統
A. 獲取容器名稱或者id :
docker ps

B. 獲取整個容器的id
docker inspect -f '{{.Id}}' 步驟A獲取的名稱或者id

C. 在主機上拷貝文件:
sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE

sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc<<id>>/rootfs/root

例子:
$ 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

3.用輸入輸出符
docker run -i ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/

docker exec -i <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/ 可行
docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/ 有點問題


鏡像/容器導入導出
鏡像的導出
docker images
docker save 9045 > tomcat8-apr.tar #9045爲鏡像ID的前四位

鏡像的導入
docker load < tomcat8-apr.tar
docker tag 9045 tomcat8-apr:3.0 #添加標籤

持久化:::BEST:::
容器的導出
docker export b91d9ad83efa > tomcat80824.tar

容器的導入
docker import tomcat80824.tar

鏡像和容器 導出和導入的區別
鏡像導入和容器導入的區別:
1)容器導入 是將當前容器 變成一個新的鏡像
2)鏡像導入 是複製的過程

save 和 export區別:
1)save 保存鏡像全部的信息-包含歷史
2)export 只導出當前的信息


docker鏡像導入導出
http://www.jianshu.com/p/8408e06b7273
導入
docker import auth_cloud.tar auth_cloud:v1

獲取宿主機ip
ip addr show docker0 | grep "inet\b" | awk '{print $2}' | cut -d / -f1
ifconfig docker0 |grep "inet\b" | awk '{print $2}'

Docker經常使用命令
http://blog.csdn.net/zhang__jiayu/article/details/42611469

Docker CE 鏡像源站 阿里雲安裝dockerhttps://yq.aliyun.com/articles/110806?commentId=11066001-在 Cent OS 7 上安裝 docker-cehttp://blog.csdn.net/xixiworld/article/details/71438794 Centos 環境Docker離線安裝方式http://blog.csdn.net/h363659487/article/details/77159306保存對容器的修改無需拷貝完整的id,一般來說最開始的三至四個字母便可區分。(譯者按:很是相似git裏面的版本號)正確的命令:$docker commit 698 learn/ping執行完docker commit命令以後,會返回新版本鏡像的id號。

相關文章
相關標籤/搜索