zoukankan      html  css  js  c++  java
  • 常用Docker命令

    1、镜像操作

    获取镜像
    docker pull NAME[:TAG]   #如果不显示指定TAG,默认选择latest标签
    
    查看本地所有镜像
    docker images
    
    查看镜像详细信息
    docker inspect  IMAGE_ID
    
    从Docker Hub查找镜像
    docker search TERM
    
    使用已有镜像的容器创建镜像
    docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]]  #-a,--author=""作者信息 -m,--message=""提交消息 -p,--pause=true提交时暂停容器运行
    使用Dockerfile创建镜像 docker build
    -t NAME[:TAG] DOCKERFILE_PATH # .表示当前目录 -t指定镜像的标签信息

    使用本地模板导入
    cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04 删除本地一个或多个镜像 docker rmi IMAGE [IMAGE...] #IMAGE为标签或ID
    -f参数强制删除 保存和加载镜像(将机器a的镜像迁移到机器b上) # 机器a docker save IMAGE > /home/save.tar #IMAGE为标签或ID # 使用scp将save.tar拷到机器b上 scp -P 2261 save.tar root@172.33.5.11:/home/ # 机器b docker load < /home/save.tar 上传镜像 docker push NAME[:TAG]

    2、容器操作

    查看容器日志
    docker logs CONTAINER   #CONTAINER为容器名或ID   -f跟踪日志输出
    
    查看正在运行的容器
    docker ps     #-a为查看所有容器   -l最近一次启动的容器 -q显示容器编号
    
    运行一个新容器,同时为它命名、端口映射、文件夹映射
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...] #-t分配伪终端并绑定到标准输入上,-i保持准备输入打开,-d守护态运行
    docker run --name centos7 -p 8081:8080 -d -v /z/docker/files:/docker/files local/centos
    进入容器 docker exec -ti CONTAINER
    /bin/bash #启动一个伪终端以交互式的方式进入容器 停止、启用、杀死、重启一个容器 docker stop|start|kill|restart CONTAINER 删除容器 docker rm CONTAINER #删除单个容器 -f强制删除 docker rm $(docker ps -a -q) #删除所有容器 导出导入容器 docker export CONTAINER > save.tar docker import save.tart NAME[:TAG]

    3、数据管理

    在容器内创建一个数据卷
    docker run -d -P --name web -v  /webapp training/webapp python app.py  #使用training/webapp镜像创建一个Web容器,并创建一个数据卷挂载到容器的/webapp目录
    
    挂载一个主机目录作为数据卷
    docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py    #加载主机的/src/webapp目录到容器的/opt/webapp目录,权限为只读
    
    挂载一个本地主机文件作为数据卷(不推荐,使用文件编辑工具可能会造成文件inode的改变,导致报错误信息)
    docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash
    
    数据卷容器
    1、docker run -it -v /dbdata --name dbdata ubuntu    #创建数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata
    2、docker run -it --volumes-from dbdata --name db1 ubuntu    #创建db1容器,并从dbdata容器挂载数据卷
    
    利用数据卷容器迁移数据
    docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata    #备份dbdata数据卷容器内的数据卷
    docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar  #恢复数据到容器

    4、网络基础配置

    端口映射实现访问容器
    docker run -d -P training/weapp python app.py    #随机映射一个49000~49900端口到容器内部开放的网络端口
    docker run -d -p 5000:5000 -p 3000:80 training/webapp python app.py  #将本地的5000、3000端口分别映射到容器的5000、80端口
    
    容器互联实现容器间通信
    docker run -d -P --name web --link db:db training/webapp python app.py  #--link参数的格式为--link name:alias,其中name是要链接的容器名称,alias为这个连接的别名
  • 相关阅读:
    Linux中逻辑卷的快照与还原
    Linux 中磁盘阵列RAID10损坏以及修复
    Linux 中磁盘阵列RAID10配置
    Linux 中磁盘容量配额
    Centos7VMware虚拟机最小化安装后,安装Tenda U12 USB无线网卡驱动
    安装vmware-tools遇the path "" is not valid path to the gcc binary和the path "" is not a valid path to the 3.10.0-327.e17.x86_64 kernel headers问题解决
    /etc/postfix下 main.cf 配置文件详解
    Linux安装配置vsftp搭建FTP的详细配置
    Linux中ftp的常用命令
    javascript深入理解js闭包
  • 原文地址:https://www.cnblogs.com/aaron-shu/p/8183818.html
Copyright © 2011-2022 走看看