一、容器创建

1、创建命令

docker  container

[root@localhost harbor]# docker container

Usage:  docker container COMMAND

Manage containers

Commands:
attach 进入容器
commit 以一个运行中的容器为基础镜像创建一个新镜像
cp 在容器和本地文件之间拷贝文件或文件
create 创建一个新的容器
diff 查看一个容器的文件或目录的变化
exec 在一个运行中的容器上执行一个命令
export 以一个tar包的形式导出一个容器的文件系统
inspect 显示一个或者多个容器的详情
kill 杀掉一个或多个运行中的容器
logs 获取某个容器的日志
ls 列出容器
pause 暂停一个或多个容器的所有进程
port 列出容器的端口映射或一个特定的映射
prune 删除所有停止的容器
rename 重命名一个容器
restart 重启一个或多个容器
rm 删除一个或多个容器
run 在一个新容器中执行一个命令
start 启动一个或多个容器
stats 展示一个容器的资源使用情况
stop 停止一个或多个容器
top 展示一个容器正在运行的进程
unpause 暂停一个或多个容器的所有进程
update 更新一个或多个容器的配置
wait 锁定一个或多个容器,然后打印出他们的退出码

 

2、创建容器常用命令选项

常用选项:

-t  分配一个伪终端,是为了让容器启动后有一个前台进程,因为任何一个后台进程都需要一个前台进程才能跑起来。

-d  容器在后台运行

-P  大P后面不用接端口,是把容器EXPOSE的端口到宿主机的随机端口,EXPOSE是Dockerfile里面定义的

-h  容器主机名,默认是一个随机的字符串

--name  容器的名称,默认是一个随机字符串

-network 连接容器到一个网络,比如我们自定义一个bridege

-mount  将宿主机的数据挂在到容器

-restart  always  容器退出时,会不断的尝试重启

3、实例

创建一个容器,容器名为web_01,容器主机名web_01_hostname   容器会自动启动,访问宿主机的2080端口即可访问容器nginx

run -d --name web_01 -h web_01_hostname -e test=12345 --restart always -p 2088:80 nginx

  

验证:

1、查看是否创建成功

2、进入容器

3、访问服务

二、容器资源限制

容器资源限制,主要是内存和cpu的限制。

1、常用选项

-memory-swappiness :设置容器使用SWAP分区的百分比,也可以设置为不使用。-1是不限制,无限制使用swap,1是不使用,也就是swap和memory的值设置成一样。不设置swap,默认是可以使用物理内存的2倍。

--oom-kill-disable :宿主机有om机制,在内存不足时,会找出使用内存最多的内存并杀掉。

·-cpus:使用cpu的数量

-cpuset-cpus:设置容器可以使用宿主机的哪几个cpu

2、实例

例1:创建一个容器,内存限制为500M,swap可以使用100M,om机制禁用。

[root@localhost ~]# docker run -d --name nginx01 --memory='500m' --memory-swap='600m' --oom-kill-disable nginx
15eb4507333d0ca3b9a1cee6a764bfeb041bf1ea084daaa176fe56fce3307841

docker stats 15eb4507333d

上图可以看出:内存限制为500M。

例2:创建一个容器,cpu限制使用1.5

docker run -d --name nginx02 --cpus="1.5" nginx

资源限制的意义:当容器被攻击时,即使让容器跑满,也不会让宿主机崩溃。

如果设置cpus=2,则容器可能会跑到200%。

三、管理容器

1、管理容器常用选项

a、docker  container ls

b、docker inspect

c、docker exec

d、docker commit

我们在容器中新建文件(修改容器),然后退出容器。

我们在容器中创建文件后,退出容器,然后commit,提交新的镜像

查看镜像

用新的镜像启动容器

进入容器查看是否以是新的镜像

验证成功。

e、docker  cp

[root@localhost ~]# docker cp /tmp/test_copy 1e7a16a5cfd8:/

  

将宿主机的文件拷贝到容器

f、docker logs  查看容器访问日志

g、docker port 查看容器的端口

h、docker  stats  查看容器资源使用情况

i、docker  start/stop 启动和停止容器

j、docker rm  删除停止的容器,-f 强制删除容器

k、docker top 查看容器中运行的进程

l、docker rename  重命名容器

m、docker update更新容器配置

3、Docker容器管理的更多相关文章

  1. docker 容器管理常用命令

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...

  2. docker 容器管理上

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...

  3. Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

    搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...

  4. Docker系列三:Docker容器管理

    Docker容器管理 1. 单一容器管理 1) 容器的启动 $ docker run --name gitlab-redis -d --volume /srv/docker/gitlab/redis: ...

  5. docker容器管理及网络管理

    防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...

  6. docker容器管理-含静态Ip(10)

    docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...

  7. Docker学习第二天(Docker容器管理)

    简介 emmmm Docker 容器管理 推荐文章:容器技术概述 run里面的子选项 1.使用run命令创建容器 docker container run -it ubuntu /bin/bash / ...

  8. 四、docker容器管理

    一.docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法:docker ps [-a 显示所有容器,默认只显示 ...

  9. [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务

    转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...

  10. Docker 容器管理

    单一容器管理 容器的标识符 每个容器被创建后都会分配一个CONTAINER_ID作为容器的唯一标识符,后续的启动.停止等操作都通过CONTAINER_ID来完成的. CONTAINER_ID很难记忆, ...

随机推荐

  1. Knockout学习,添加模板,事件,Mouseover,mouseout

    <div class="rtitle">我的收藏</div> <div class="list_ul" data-bind=&qu ...

  2. MySQL大数据表水平分区优化的详细步骤

    将运行中的大表修改为分区表 本文章代码仅限于以数据时间按月水平分区,其他需求可自行修改代码实现 1. 创建一张分区表 这张表的表字段和原表的字段一摸一样,附带分区 1 2 3 4 5 6 7 8 9 ...

  3. 批处理之windows更改网卡IP地址

    新建文本文档,更改后缀为“.bat”,写入以下代码: netsh interface ip set address name="本地连接" source=static 192.16 ...

  4. 2018亚太CDN峰会开幕, 阿里云王海华解读云+端+AI的短视频最佳实践

    4月11-12日,2018亚太CDN峰会在北京隆重召开,在11日下午的短视频论坛中,阿里云高级技术专家王海华进行了<短视频最佳实践:云+端+AI>的主题演讲,分享了短视频的生命周期关键点和 ...

  5. 安全之路 —— 利用SVCHost.exe系统服务实现后门自启动

    简介 在Windows系统中有一个系统服务控制器,叫做SVCHost.exe,它可以用来管理系统的多组服务.它与普通的服务控制不同的是它采用dll导出的ServiceMain主函数实现服务运行,详细原 ...

  6. Asp.net core 2.0.1 Razor 的使用学习笔记(六)

    Asp.net core 2.0.1 Razor 的使用学习笔记——基本页面的建立 VS这版(vs版本:15.5.6  .net版本:4.7.02558)的Razor页面自动生成就是坑爹货,它自动生成 ...

  7. 如何使用EditPlus批量删除 带有某个字符的一行

    比如以下五行,我要将带有英文字母a的一行全部批量删除1234551243243123aa244123123981232137aa 2013-04-11 19:32   提问者采纳   我这里是英文版, ...

  8. vlanif和vlan路由

    配置基于接口划分VLAN示例(接入层设备作为网关) 简介 划分VLAN的方式有:基于接口.基于MAC地址.基于IP子网.基于协议.基于策略(MAC地址.IP地址.接口).其中基于接口划分VLAN,是最 ...

  9. 关于Netty Pipeline中Handler的执行顺序问题

    原文地址:http://blog.csdn.net/wgyvip/article/details/25637651 最近在学习Netty框架,根据官网的教程学着做了几个小测试,都成功了,后面开始试着写 ...

  10. WorldWind源码剖析系列:地形访问器类TerrainAccessor

    地形访问器类TerrainAccessor 地形访问器类TerrainAccessor提供了对地形(高程)Terrain (elevation)访问的各种接口interface,是NltTerrain ...