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

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

所以,我也就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. tab 切换下划线跟随实现

    HTML 结构如下: <ul> <li class="active">不可思议的CSS</li> <li>导航栏</li> ...

  2. 用mpvue写个玩意儿玩玩

    下周公司要搞黑客马拉松了,组里可能会做个小程序.然后看到了mpvue感觉还不错,于是就打算试试水.用vue写小程序听上去美滋滋.那么先开始吧! 全局安装 vue-cli $ npm install - ...

  3. Git提交代码冲突:commit your changes or stash them before you can merge.

    用git pull拉取远程分支代码时候遇到如下问题: error: Your local changes to the following files would be overwritten by ...

  4. 谈谈MySQL数据库索引

    在分析MySQL数据库索引之前,很多小伙伴对数据结构中的树理解不够深刻.因此我们由浅入深一步步探讨树的演进过程,再一步步引出MySQL数据库索引底层数据结构. 一.二叉树 二叉查找树也称为有序二叉查找 ...

  5. IPFS(星际文件系统)-初步接触

    〇.IPFS介绍 从HTTP到IPFS,星际文件系统能变革信息传播的方式吗? 戴嘉乐:详解IPFS的本质.技术架构以及应用 以下为实现相关摘要 1.存储 在IPFS中,信息可以存储进IPFS系统中的块 ...

  6. hive实践_01

    本地一份包含有中文的文本文件在上传到hive前,需要先转化为UTF-8格式,否则会出现乱码.(notepad++ 格式>>>转化UTF-8编码格式)   -------------- ...

  7. Natas15 Writeup(sql盲注之布尔盲注)

    Natas15: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) ...

  8. jvm 性能调优工具之 jstat 命令详解

    Jstat名称:Java Virtual Machine statistics monitoring tool 官方文档:https://docs.oracle.com/javase/1.5.0/do ...

  9. linux redis安装 5.0.2

    参看:https://www.cnblogs.com/limit1/p/9045183.html 1.获取redis资源 wget http://download.redis.io/releases/ ...

  10. 从零开始学习R语言(五)——数据结构之“列表(List)”

    本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60141740 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125678 ...