• docker 常用命令


    1. 容器生命周期管理

    1.1 操作 image

    -create : 根据image创建一个新的容器
    -run : 根据image创建一个新的容器并运行

    1.2 操作 container

    -start : 启动容器
    -stop : 停止容器
    -restart : 重启容器
    -pause : 暂停容器中的所有进程
    -unpause : 恢复容器中的所有进程
    -exec : 在运行中的容器执行命令,也可以进入容器内部

    1.3 run

      从image创建容器并运行
      docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
      -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
      -d: 后台运行容器,并返回容器ID;
      -i: 以交互模式运行容器,通常与 -t 同时使用;
      -P: 随机端口映射,容器内部端口随机映射到主机的端口
      -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
      -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
      --name="nginx-lb": 为容器指定一个名称;
      --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
      --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
      -h "mars": 指定容器的hostname;
      -e username="ritchie": 设置环境变量;
      --env-file=[]: 从指定文件读入环境变量;
      --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
      -m :设置容器使用内存最大值;
      --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
      --link=[]: 添加链接到另一个容器;
      --expose=[]: 开放一个端口或一组端口;
      --volume , -v: 绑定一个卷
    

    示例:

      创建并启动容器
      docker  run  -d  -it  --net=host  <image_name>:<tag>  /bin/bash
    
      以sleep命令创建启动容器 
      --entrypoint后面是命令,命令最后是命令参数
      docker  run  -d  -it  --entrypoint=“sleep” <image_name>:<tag>  600
    

    1.4 exec

      在运行的容器中执行命令
      示例:docker exec -it <container_id> /bin/bash
      docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
      -d :分离模式: 在后台运行
      -i :即使没有附加也保持STDIN 打开
      -t :分配一个伪终端
    

    2. 容器操作

    2.1 ps

      列出容器
      docker ps  -a
    

    2.2 logs

      获取容器日志
      docker logs [OPTIONS] CONTAINER
      -f : 跟踪日志输出
      -since :显示某个开始时间的所有日志
      -t : 显示时间戳
      --tail :仅列出最新N条容器日志
    

    2.3 port

      查询容器的端口映射情况
      docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
    

    2.4 export

      将容器导出为tar文件,包含镜像的当前信息
      export导出的镜像文件则用import加载,否则可能出现异常
    
      将镜像保存为tar文件
      docker export [OPTIONS] IMAGE
      docker export -o xxx.tar  <image_name>:<tag>
      -o : 归档的文件名
    

    3. 镜像管理

    3.1 images

      列出本地镜像
      docker images -a
    

    3.2 build

      创建镜像
      以当前目录为基础目录,根据当前目录的 Dockerfile文件创建镜像,镜像名字为name,镜像tag为tag,后面的点(.)表示当前目录
      docker build -t name:tag .
    

    3.3 history

      显示镜像的历史信息
      docker history [OPTIONS] IMAGE
    

    3.4 rmi

      删除镜像
      docker rmi [OPTIONS] IMAGE [IMAGE...]
      docer rmi xxxx
    

    3.5 save/load

      将镜像导出为tar文件,包含镜像的历史信息
      save导出的镜像文件则用load加载,否则可能出现异常
    
      将镜像保存为tar文件
      docker save [OPTIONS] IMAGE
      docker save -o xxx.tar  <image_name>:<tag>
      -o : 归档的文件名
      如果使用 image_id 导出镜像,导入的镜像没有 image_name 和 tag 信息
    
      根据tar文件创建镜像
      docker load [OPTIONS]
      docker load -i xxx.tar
      docker load < xxx.tar
    

    3.6 import

      根据tar文件创建镜像
      docker import [OPTIONS]
      docker import -i xxx.tar
      docker import < xxx.tar
    

    3.7 commit

      更新镜像版本,根据某个容器打包为新的镜像版本推送到本地仓库
      docker commit  -m <message>  -a <author>  <container_id> <image_name>:<tag>
    

    3.8 push

      将本地镜像推送到远程仓库
      镜像有目录信息时需要带上目录信息
      docker  push  <image_name>:<tag>
    

    3.8 tag

      对本地镜像进行重名名
      docker  tag  <image>  <image_name>:<tag>
      <image> 可以是 image_id,也可以是 image_name:tag,可以定位到具体镜像就行
      <image_name> 重命名后的 imahe_name 可以包含目录信息
      示例:docker  tag  ffelix/partition:v1.1  ffelix2/partition:1.2
    

    4. 容器和宿主机

    4.1 文件拷贝

      宿主机拷贝到容器
      docker  cp  filepath  <image_id>:filepath
    
      容器拷贝到宿主机
      docker cp <image_id>:filepath  filepath
  • 相关阅读:
    wingIDE Pro6 破解教程
    C++中的访问权限
    解决wine中文字体方块或乱码
    linux下目录的作用
    linux下查看系统信息
    Windows Eclipse Maven 安装
    Centos SVN 搭建
    Mysql MyISAM 与 InnoDB 效率
    Linux删除除指定后缀外的所有文件
    mysql 多个timestamp设置自动更新 错误:there can be only one TIMESTAMP column with CURRENT_TIMESTAMP
  • 原文地址:https://www.cnblogs.com/virgosnail/p/13226043.html
Copyright © 2020-2023  润新知