• docker 常用笔记


    pull:下载镜像

    docker pull image

    ps:查看运行容器

    docker ps

    -a : 查看全部包括停止

    commit:创建镜像

    docker commit [repo] xxxname:tag

    docker container commit -m "Add a new image" -a "lipengfei" 90cedf2ee4fe test:0.1

    创建一名称为 test,tag为0.1 的镜像,容器id为90.....4fe

    save:导出镜像

    create/run : 创建/运行容器

    -i:绑定输入

    -t:伪终端

    -d:后台运行(守护状态)

    --rm 容器在终止后会立即删除

    --name 别名

    exec:运行交互页面

    docker exec -it c3d277625d18  /bin/bash

    exit: 退出交互页面

    docker save -o /home/test/test.tar test:0.1

    load:载入本地镜像

    docker load -i /home/test/test.tar

    push:上传

    如果要分享可以push 一下,默认为官网的dockerhub,需要注册。

    docker push [image]

    容器:

    pause/unpause:暂停容器

    (子命令)stop/start/restart:停止/启动/重启

    (子命令)prune:删除处于停止状态的容器

    kill:强制关闭

    rm:删除

    -f 强制删除

    -v 删除挂载的数据卷

    容器导入导出:(*)迁移系统

    export/import:

    docker export -o xxxx.tar [container]

    导入容器其实是导入镜像,可以给定标签

    docker import xxxx.tar - [image-name]

    stats:查看容器统计信息

    docker stats

    container cp:复制文件到容器目录下

    docker container cp test.tar ub:/tmp/

    port:端口映射

    docker container port ub

    dockerhub 仓库:官方很慢,网速可以的去官网

    国内镜像:

    阿里云、腾讯云

    数据管理:

    数据卷:创建

    docker volume create test

    -d 数据驱动,默认为local

    数据卷容器:(推荐)

    多个容器挂载数据卷容器,可以挂载多个数据卷

    1.运行容器,创建一个dbdata数据卷

    docker run -it -v /dbdata --name dbdata ubuntu

    2.创建第二个容器,挂载数据卷容器的数据卷

    docker run -it --volume-from dbdata --name db1 ubuntu

    此时在任意容器中修改此数据卷信息,其他容器都可见。

    删除数据卷:

    docker rm -v XXX

    备份数据卷:

    docker run --name backupworker --volumes-from dbdata -v $PWD:/backup ubuntu tar cvf /backup/backup.tar /dbdata

    分步骤看

    1、run -name backupworker 创建一个ubuntu 容器

    2、数据卷来自数据卷容器 dbdata

    3、-v $pwd:/backup :绑定宿主机当前目录到容器根目录下文件夹 /backup

    4、tar cvf /backup/backup.tar /dbdata :容器运行后执行此命令打包挂载的目录 /dbdata ,也就是之间的容器数据卷中的 /dbdata

    5、此时因为容器的挂载了dbdata,所以在跟目录下同样会有一个 dbdata目录,同时把挂载的目录打包丢到根 backup 目录下,然后由于数据卷映射到宿主机当前目录下,所以backup 目录下的文件同样会保存到宿主机当前目录下。

    端口映射:容器服务端口映射到主机的端口、ip

    docker run -p [IP]8080:8000 -d xxxxx --name xxxxx

    ip映射端口随机(双冒号)

    docker run -p 127.0.0.0::5000 xxxxx

    查看端口号:docker port xxxx

    查看统计信息:docker stats xxxx

    容器互联:

    --link

    docker run --link name:alias xxxx

    查看日志:

    sudo docker logs -f -t --tail 行数 容器名

    $ docker logs [OPTIONS] CONTAINER
      Options:
            --details        显示更多的信息
        -f, --follow         跟踪实时日志
            --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
            --tail string    从日志末尾显示多少行日志, 默认是all
        -t, --timestamps     显示时间戳
            --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

    例子:

    查看指定时间后的日志,只显示最后100行:

    $ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
    

    查看最近30分钟的日志:

    $ docker logs --since 30m CONTAINER_ID
    

    查看某时间之后的日志:

    $ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
    

    查看某时间段日志:

    $ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
  • 相关阅读:
    Windows程序设计6(内存、线程、进程)
    Windows程序设计5(MDI、库程序、文件)
    Windows程序设计4(文字、对话框、各控件)
    大数据开发学习之构建Hadoop集群-(0)
    杂谈
    Windows程序设计2(消息机制、菜单)
    QT 学习笔记概述(一)
    Linux/Windows 实用工具简记
    读书笔记《深度探索c++对象模型》(0)
    读书笔记《深入理解计算机系统》(第三版) 概述
  • 原文地址:https://www.cnblogs.com/jony-it/p/11396354.html
Copyright © 2020-2023  润新知