• Docker容器入门-基本命令的使用


    目前容器技术使用相当广泛
    不会或者没有使用过容器感觉都不像是个搞技术的
    所以,我也就docker相关内容做一个整理
    只有不断的学习,才能保持自己的竞争力

    什么是容器?

    容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

    为什么使用容器?

    容器使软件具备了超强的可移植能力

    怎样使用容器?

    容器常用的基本操作:

    docker stopstart
    estart [container_idcontainer_name]  // 停止、启动、重启容器
    docker kill [container_idcontainer_name]                // 强制停止
    docker pauseunpause [container_idcontainer_name]       // 暂停、取消暂停
    docker rm [container_idcontainer_name]     // 删除容器
    docker rmi [image_idimage_name]            // 删除镜像
    // 按条件查找容器id, -a 所有 -q 只显示id -f filter过滤
    docker ps -aq -f status=running
    docker ps -aq -f status=exited
    docker ps -aq -f status=created
    // 查看容器日志
    docker logs -f <container>
    // 进入shell
    docker exec -it <container> sh
    // 进入bash
    docker exec -it <container> /bin/bash
    

    限制容器内存使用:-m 或 --memory 设置内存的使用限额、--memory-swap 设置内存+swap的使用限额

    docker run -m 200M --memory-swap=300M ubuntu
    

    限制容器CPU使用:-c 或 --cpu-shares 设置权重、 --cpu 设置工作线程数量

    docker run -it -c 1024 progrium/stress --cpu 1
    

    限制容器IO的使用:--blkio-weight 设置block IO的优先级

    docker run -it --name my_ubuntu --blkio-weight 600 ubuntu
    

    创建自定义IP网段的容器网络:

    docker network create --driver bridge --subnet 172.22.22.0/24 --gateway 172.22.22.1 my_net
    

    启动时给容器指定一个静态ip:只有使用 --subnet 创建的网络才能指定静态ip

    docker run -it --network=my_net --ip 172.22.22.22 busybox
    

    查看容器网络:

    docker network ls
    

    共享网络栈:使用 --network=container:web1 指定 jointed 容器为 web1

    将主机上的目录或者文件挂载到容器:使用 -v : 将其 mount 到容器

    docker run -d -p 80:80 -v ~/htdocs:/usr/local/apache2/htdocs httpd
    docker run -d -p 80:80 -v ~/htdocs:/usr/local/apache2/htdocs:ro httpd  // ro设置只读权限,容器不能对该文件做修改
    

    使用volume container共享容器数据:通过 --volumes-from 使用 vc_data 这个 volume container

    1.创建一个vc:
    docker create --name vc_data -v ~/htdocs:/usr/local/apache2/htdocs -v /other/useful/tools busybox
    2.共享vc:
    docker run --name web1 -d -p 80 --volumes-from vc_data httpd
    docker run --name web2 -d -p 80 --volumes-from vc_data httpd
    

    docker删除bind mount:只能由host负责删除
    docker删除docker managed volume:删除容器时加上 -v 可以删除容器依赖的volume
    如果删除容易时,没有加-v删除依赖volume,也可以用:docker volume rm <volume_id>

  • 相关阅读:
    opencv入门踩坑之路(一)
    编写vue的时候(html也一样),限制一个div内可显示的字数
    win10开机后内存占用非常高,但是资源管理器显示的进程占用得很少,可以考虑更新驱动
    java 随机数产生 常用类及方法
    你不会的是这个正则表达式吗?
    系统编程第三次上机
    Java第三次上机随笔
    系统编程第二次实验
    Java第二次上机随笔
    面向对象-Java MOOC翁恺老师第一次作业
  • 原文地址:https://www.cnblogs.com/Trainoo/p/11108380.html
Copyright © 2020-2023  润新知