zoukankan      html  css  js  c++  java
  • docker安装文档

    Docker离线安装以及本地yum源构建
    http://blog.csdn.net/joniers/article/details/64122820
    http://blog.csdn.net/wsscy2004/article/details/25878363

    在线安装
    yum install –downloadonly –downloaddir=/home/docker-ce/dockerRpm docker-ce

    离线安装
    1、备份原yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk

    2、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-7

    3、createrepo -d /opt/dockerRpm
    --yum repolist
    yum clean all
    yum makecache
    --yum list 看是否输出了新的rpm包,如果能查询到,证明配置成功

    4、yum -y install docker-ce

    5、还原原yum源
    mv /etc/yum.repos.d/CentOS-Base.repo.bk /etc/yum.repos.d/CentOS-Base.repo

    基本命令
    启动docker
    service docker start

    查看镜像
    docker images
    docker images centos

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

    搜索镜像
    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" | awk '{print $2}' | cut -d / -f1
    ifconfig docker0 |grep "inet" | awk '{print $2}'

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

    Docker CE 镜像源站 阿里云安装docker
    https://yq.aliyun.com/articles/110806?commentId=11066
    001-在 Cent OS 7 上安装 docker-ce
    http://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号。

  • 相关阅读:
    【URL重写】IIS7配置URL重写
    【IIS7.5】Asp文件上传限制,加载页面大小限制
    msxml3.dll 错误 '800c0005' 系统错误: -2146697211。
    【转】修改3389远程端口的批处理文件.bat
    第一篇:无角牛MVC通用后台数据库设计
    无角牛MVC通用后台
    个人收集资料整理-WebForm
    个人收集资料整理-WinForm
    win7系统中桌面图标显示不正常问题
    ASP.NET MVC 第六回 过滤器Filter
  • 原文地址:https://www.cnblogs.com/sherlockhomles/p/8717823.html
Copyright © 2011-2022 走看看