目前容器技术使用相当广泛

不会或者没有使用过容器感觉都不像是个搞技术的

所以,我也就docker相关内容做一个整理

只有不断的学习,才能保持自己的竞争力

什么是容器?

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

为什么使用容器?

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

怎样使用容器?

容器常用的基本操作:

docker stop\start\restart [container_id\container_name]  // 停止、启动、重启容器
docker kill [container_id\container_name] // 强制停止
docker pause\unpause [container_id\container_name] // 暂停、取消暂停
docker rm [container_id\container_name] // 删除容器
docker rmi [image_id\image_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>

Docker容器入门-基本命令的使用的更多相关文章

  1. 自动化集成:Docker容器入门简介

    前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述Docker基础用法. 一.Docker简介 1.基础 ...

  2. Docker容器入门

    为什么要看docker 从去年起就或多或少的接受了docker的熏陶,主要还是Infoq在去年有很多关于docker的实践视频讲座,记得有一篇是<Docker在雪球的技术实践>,当时听的也 ...

  3. docker容器入门最佳教程

    为什么要写这个 简单回答是:容器技术非常热门,但门槛高. 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行. 对 IT 行业来说,这是一项非常有价值的技术.而对 I ...

  4. Docker容器入门篇

    第1章 Docker简介 1.1 Docker容器介绍 Docker官网:https://www.docker.com/ 什么是docker? Docker 最初是 dotCloud 公司创始人 So ...

  5. Docker容器入门实践

    Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 ...

  6. Docker容器入门介绍

    1.前言 Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.不过,Docker 跟传统的虚拟化方式相比具有众多的优势.Docker: 本意是码头工人,言外之意是集装箱: Java号称 ...

  7. Docker 容器入门

    1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项, ...

  8. docker新手入门(基本命令以及介绍)

    Docker 的核心内容 镜像 (Image) 容器 (Container) 仓库 (Repository) Registry 用来保存用户构建的镜像 docker的开始使用: 1. docker  ...

  9. Docker容器入门之一:部署SpringBoot项目

    一.环境准备:    1.vm虚拟机: Workstation 12 Pro 12.5.7 build-5813279 2.Centos 7 在虚拟机上安装好Centos7系统后,就可以开始准备安装D ...

随机推荐

  1. JS动画之缓动函数分析及动画库

    上一篇讲了JS动画定时器相关知识,这一篇介绍下缓动函数及流行的动画库. 熟悉的图 实际使用 jquery animate()+jquery.easing插件的使用: $(selector).anima ...

  2. js中的内置方法的兼容写法

    1.如果浏览器不支持every属性,every的实现原理 if(Array.prototype.every===undefined){ Array.prototype.every=function(f ...

  3. 零基础JavaScript编码(二)

    任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...

  4. IDEA激活码(可用2100年,亲测有效)

    三步骤: 1.下载rar包 2.将rar中bin包内容替换IDEA安装目录下bin内容,然后编辑idea.exe.vmoptions和idea64.exe.vmoptions文件,编辑内容一样 将最后 ...

  5. angular root在css和less的写法

    背景:angular7项目,angular cli创建了一个模板 新建了一个common.css 本身modle会有一个专属的less文件 写样式 父组件下的子组件样式修改 什么情况下用:root  ...

  6. 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践

    2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...

  7. Unsafe中CAS的实现

    前言 Unsafe 是位于 sun.misc 包下的一个类.Unsafe 提供的 API 大致可分为内存操作.CAS.Class 相关.对象操作.线程调度.系统信息获取.内存屏障.数组操作等几类.由于 ...

  8. MATLAB神经网络(5) 基于BP_Adaboost的强分类器设计——公司财务预警建模

    5.1 案例背景 5.1.1 BP_Adaboost模型 Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类.其主要步骤为:首先给出弱学习算法和样本空间($X$,$Y$),从样本空间 ...

  9. Simulink仿真入门到精通(八) M语言对Simulink模型的自动化操作及配置

    8.1 M语言控制模型的仿真 M语言与Simulink结合的方式: 在Simulink模型或模块中使用回调函数 在M语言中调用与模型相关的命令,控制模型的建立,设置模块的属性,增删信号线,以及运行模型 ...

  10. 从零搭建Spring Cloud Gateway网关(一)

    新建Spring Boot项目 怎么新建Spring Boot项目这里不再具体赘述,不会的可以翻看下之前的博客或者直接百度.这里直接贴出对应的pom文件. pom依赖如下: <?xml vers ...