美文网首页
Docker基础命令

Docker基础命令

作者: SUNOW2 | 来源:发表于2018-07-06 16:27 被阅读18次

    基本概念

    Docker包括三个基础概念
    -镜像(Image)
    -容器(Container)
    -仓库(Respository)

    Docker镜像

    Docker镜像(Image),就相当于一个root文件系统。Docker是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等资源外,还包含一些为运行时准备的配置参数。镜像不包含任何动态数据,其内容在构建之后也不会i被改变。

    Docker镜像

    镜像和容器的关系,就像是面向对象程序设计中的类和实例。容器可以被创建、启动、停止、删除、暂停。

    Docker Registry

    一个Docker Registry中可以包含多个仓库(Repository);,每个仓库可以包含多个标签;每个标签对应一个镜像。

    docker常见命令

    创建镜像
    // Dockerfile在当前目录
    docker build -t testimage .
    
    创建容器
    // 特权模式创建容器
    docker run -t -i --privileged -v /usr/java:/mnt --name ContainerName ImageId /usr/sbin/init
    // 采用host网络模式创建容器
    docker run -t -i -d --privileged -v /usr/java:/mnt --net=host --name Container ImageId /usr/sbin/init
    
    docker端口映射
    iptables -t nat -A  DOCKER -p tcp --dport 8888 -j DNAT --to-destination 172.17.0.2:8888
    
    获取端口映射规则
    iptables -t nat -nL --line-number
    
    根据编号删除规则
    iptables -t nat -D DOCKER $num
    
    从容器内拷贝文件到宿主机
    docker cp <containerId>:容器的绝对地址 宿主机的绝对地址
    
    从宿主机拷贝文件容器内
    docker cp 宿主机的绝对地址 <containerId>:容器的绝对地址
    
    进入容器
    docker exec -t -i 容器名称 /bin/bash
    
    导出镜像
    docker save -o 镜像名称.tar REPOSITORY(仓库名称)
    
    导入镜像
    docker load -i 镜像名称.tar
    
    查看容器的ip地址
    docker inspect 容器名称
    
    容器互联
    docker run -d -p 8888:8888 --name dockerlinkmysql --link mysql5.7:sunmysql dockerlinkmysql /bin/bash
    
    docker设置固定ip地址
    // 查看已经定义的网络
    docker network ls
    // 创建自定义网络
    docker network create --subnet=172.18.0.0/16 mynetwork
    // 根据自定义网络创建docker容器
    docker run -t -i -d --name networkTest --net mynetwork --ip 172.18.0.2 dockerlinkmysql /bin/bash
    
    docker容器重命名
    docker rename oldName newName
    

    ssh连接数据库,并进行端口转发

    ssh -L 3306:localhost:3306 jit@223.2.197.240
    

    相关文章

      网友评论

          本文标题:Docker基础命令

          本文链接:https://www.haomeiwen.com/subject/jgawdftx.html