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

    镜像管理命令

    指令 描述
    ls 列出镜像
    build 构建镜像来自Dockerfile
    history 查看镜像历史
    inspect 显示一个或多个镜像详细信息
    pull 从镜像仓库拉取镜像
    push 推送一个镜像到镜像仓库
    rm 移除一个或多个镜像
    prune 移除未使用的镜像。没有被标记或被任何容器引用的。
    tag 创建一个引用源镜像标记目标镜像
    export 导出容器文件系统到tar归档文件
    import 导入容器文件系统tar归档文件创建镜像
    save 保存一个或多个镜像到一个tar归档文件
    load 加载镜像来自tar归档或标准输入
    docker image --help

    Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE #创建一个引用源镜像标记目标镜像


    命令使用
    保存归档镜像
    docker image save centos:7 > centos7.3.tar
    导出容器归档镜像
    docker export ef1a0ce7db6e > busybos.tar
    导入归档文件镜像

    #################################################
    容器命令使用
    Usage: docker container COMMAND

    Manage containers

    Options:

    ls 列出容器
    inspect 显示一个或多个容器详细信息
    attach 附加本地标准输入,输出和错误到一个运行的容器
    exec 在运行容器中执行命令
    commit 创建一个新镜像来自一个容器
    cp 拷贝文件/文件夹到一个容器
    logs 获取一个容器日志
    port 列出或指定容器端口映射
    stats 显示容器资源使用统计
    top 显示一个容器运行的进程
    update 更新一个或多个容器配置
    stop/start 停止/启动一个或多个容器
    rm 删除一个或多个容器


    运行容器使用比较频繁的指令
    docker container run -itd --name [容器名称] -p [8080:80端口映射] 镜像名称


    指令 描述
    -i, --interactive 交互式
    -t, --tty 分配一个伪终端
    -d, --detach 运行容器到后台
    -a, --attach list 附加到运行的容器
    -dns list 设置DNS服务器
    -e, --env list 设置环境变量
    -env-file list 从文件读取环境变量
    -p, --publish list 发布容器端口到主机
    -P, --publish-all 发布容器所有EXPOSE的端口到宿主机随机端口
    -h, --hostname string 设置容器主机名
    -ip string 指定容器IP,只能用于自定义网络
    -link list 添加连接到另一个容器
    -network 连接容器到一个网络
    -mount mount 挂载宿主机分区到容器
    -v, --volume list 挂载宿主机目录到容器
    -restart string 容器退出时重启策略,默认no [always|on-failure]
    -add-host list 添加其他主机到容器中/etc/hosts

    资源限制指令 描述
    -m,--memory 容器可以使用的最大内存量
    --memory-swap 允许交换到磁盘的内存量
    --memory-swappiness=<0-100> 容器使用SWAP分区交换的百分比(0-100,默认为-1)
    --memory-reservation 内存软限制,Docker检测主机容器争用或内存不足时所激活的软限制,使用此选项,值必须设置低于—memory,以使其优先
    --oom-kill-disable 当宿主机内存不足时,内核会杀死容器中的进程。建议设置了-
    --memory 选项再禁用OOM。如果没有设置,主机可能会耗尽内存
    --cpus 限制容器可以使用多少可用的CPU资源
    --cpuset-cpus 限制容器可以使用特定的CPU
    --cpu-shares此值设置为大于或小于默认1024值,以增加或减少容器的权重,并使其可以访问主机CPU周期的更大或更小比例


    以上是常用选项

    docker container run --help

    Usage: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

    Run a command in a new container

    测试学
    运行container
    docker container run -itd --name bs:v1 busybox
    进入container
    docker container attach
    退出 Ctrl+p+q 这样退出不容器不会推出否容器也会退出


    容器内程序自动重启 端口容器内80暴露宿主机的89
    docker container run -itd -p 89:80 --restart=always --name web3 nginx

    查看容器的logs
    docker container logs web1

    查看资料使用状况
    docker container stats web1
    ######################
    容器的数据挂载容器 存储
    Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。
    volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。
    bind mounts:可以存储在宿主机系统的任意位置。
    tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统。


    管理卷:
    # docker volume create nginx-vol
    # docker volume ls
    # docker volume inspect nginx-vol
    用卷创建一个容器:
    # docker run -d -it --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
    进入Nginx
    docker exec -it nginx-test bash
    查看
    测试1
    docker run -d -it --name=nginx-test -p 88:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
    测试2
    docker run -d -it --name=nginx-test1 -p 89:80 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
    两个容器使用一个数据卷

    # docker run -d -it --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx

    清理:
    # docker container stop nginx-test
    # docker container rm nginx-test
    # docker volume rm nginx-vol

    注意:
    1. 如果没有指定卷,自动创建。
    2. 建议使用—mount,更通用。
    官方文档:https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume

    用卷创建一个容器:
    # docker run -d -it --name=nginx-test --mount type=bind,src=/app/wwwroot,dst=/usr/share/nginx/html nginx
    # docker run -d -it --name=nginx-test -v /app/wwwroot:/usr/share/nginx/html nginx
    验证绑定:
    # docker inspect nginx-test
    清理:
    # docker container stop nginx-test
    # docker container rm nginx-test
    注意:
    1. 如果源文件/目录没有存在,不会自动创建,会抛出一个错误。
    2. 如果挂载目标在容器中非空目录,则该目录现有内容将被隐藏。
    官方文档:https://docs.docker.com/engine/admin/volumes/bind-mounts/#start-a-container-with-a-bind-mount

    docker run --name lnmp-mysql -e MYSQL_ROOT_PASSWORD=gprs9527 -d mysql:v.5.7

  • 相关阅读:
    数据库常用连接字符串(网址)
    WPF布局(2)控件拖动
    TreeView templete(code project)
    寄宿(host)和应用程序域(appdomain)
    C#DSN操作
    WPF布局(3)坐标(转)
    C#注册表操作
    程序集加载与反射
    关于RichTextBox 及 RTF格式文件的保存
    Ajax实现不刷屏的前提下实现页面定时刷新
  • 原文地址:https://www.cnblogs.com/michael2018/p/9015933.html
Copyright © 2011-2022 走看看