Docker 备忘
- C/S架构:
- 客户端发出命令给服务器端(内含守护进程),守护进程执行命令后将结果传回给客户端。(可以远程访问,可以本地访问)
- 容器内部操作:


可写层下面都是只读的,操作时需要什么文件会被复制到可写层,原来只读的文件会被隐藏
Docker的操作
service docker start #启动服务
- docker search tutorial #寻找名字叫做tutorial的镜像名称
容器的操作
花式启动:
- docker run learn/tutorial echo 'fuck the world' #利用指定镜像启动一个容器,并执行指定命令
- docker run learn/tutorial apt-get install ping #利用指定镜像启动一个容器,并安装软件,此处操作均位于读写层
- docker run 镜像名字 命令 命令的参数 #这种执行过一次命令之后容器就停止了
- docker run --name=自定义容器名 -i -t ubuntu /bin/bash #自定义容器的名字,利用ubuntu镜像启动交互式容器
- docker run -i -t image /bin/bash #启动一个交互式的容器,这样可以不断交互的使用容器 -i是启动输入 -t是分配tty
- docker exec -it 容器ID bash
查看容器与情况
- docker ps -l 或 -a # -l是查看最新运行的容器,还可以看到容器的状态、执行的命令, -a是查看所有的容器
- docker ps #查看正在运行的容器
- docker inspect 16cce3a57417 #后接容器名字或ID。查看容器的参数,包括执行的命令、对应的物理路径
- docker logs [-t 时间戳][-f 一直跟随日志][--tail 10 只显示最新的10条] 容器名或ID #查看容器内部运行情况(命令和输出)
- docker top 容器名或ID #查看容器内的进程情况
容器的其他操作
- docker start -i 容器名字或ID #启动已停止的容器 -i为交互式
- docker rm 容器ID或名字 #删除已经停止的容器
- docker start/stop/restart -i 容器名字或ID #重启、停止
- docker kill 容器名字或ID #强行直接停止容器
有关守护模式
- docker 进入容器后 按下ctrl+P 和ctrl+Q来以守护模式运行docker。守护模式不可交互,通常用来运行应用或者服务
- docker attach 容器名或ID 从守护模式中重新进入交互模式
- docker run -d ubuntu /bin/sh -c "while 1;do echo fucktheword;sleep 1;done" # -d代表deattach,从镜像中后台运行,相当于守护模式
- docker exec -it -d 容器ID或名字 /bin/bash #在正在运行的容器里增加进程 (-i -t 启用输入、tty -d:dettach 后台运行)可配合监控服务来监督docker,补刀一个命令
容器的端口映射
- docker run -P -i -t ubuntu /bin/bash #自动随机映射端口
# 指定映射端口,如果不指定 在第二次运行容器时容器的IP、宿主机被映射的端口会改变- docker run --name='fuck' -p 8188:80 -p 8187:443 -i -t webdevops/php-nginx /bin/bash #通过-p可以连续指定多个端口映射,是最常用的宿主机/容器映射方法
docker port ID或容器名 #查看映射情况
镜像的操作 存储:/var/lib/docker 修改源环境:https://blog.csdn.net/michel4liu/article/details/80747676
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://0gkz13he.mirror.aliyuncs.com"]
}
概念:仓库(repostoary)、源(register)、TAG,仓库:tag可以表示唯一镜像。这里一个一个源头是众多仓库的集合,一个仓库可以有很多镜像(用tag区分),即便一个镜像也可以有不同tag
- docker pull learn/tutorial #下载对应的镜像,这里包括 用户名/镜像名
- docker commit 16cce3a57417 learn/ping #根据容器更改提交一个镜像,后面接目前容器的ID和 自定义的镜像名字
- docker images 镜像ID或仓库:tag #查看对应的镜像
- docker images #查看当前有哪些镜像,分别有镜像ID、名称、时间、大小
- docker rmi 仓库名:TAG #仅删除当前TAG
- docker rmi 镜像ID # 直接删除镜像及其所有TAG
- docker push learn/ping #将镜像上传到docker hub或其他镜像仓库
- docker search [-s 3] 镜像名 #寻找镜像,对应的 -s 3 寻找3星以上的仓库
- docker pull [-a] 仓库名:TAG #下载对应的仓库和TAG 不添加TAG默认拉latest,加上-a默认拉仓库的所有tag
容器及镜像的备份迁移:
- docker commit -p 233afe104f41(容器ID) nginxbackup(自拟定) #将容器备份成镜像
- docker save -o ~/nginxback.tar nginxbackup #将镜像打包为tar文件存到指定目录
- docker load -i ~/nginxback.tar #将备份的文件恢复为镜像
Docker 备忘的更多相关文章
- GIS部分理论知识备忘随笔
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.高斯克吕格投影带换算 某坐标的经度为112度,其投影的6度带和3度带 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- Vi命令备忘
备忘 Ctrl+u:向文件首翻半屏: Ctrl+d:向文件尾翻半屏: Ctrl+f:向文件尾翻一屏: Ctrl+b:向文件首翻一屏: Esc:从编辑模式切换到命令模式: ZZ:命令模式下保存当前文件所 ...
- ExtJs4常用配置方法备忘
viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...
- [备忘] Automatically reset Windows Update components
这两天遇到Windows 10的更新问题,官方有一个小工具,可以用来修复Windows Update的问题,备忘如下 https://support.microsoft.com/en-us/kb/97 ...
- ECMAScript 5(ES5)中bind方法简介备忘
一直以来对和this有关的东西模糊不清,譬如call.apply等等.这次看到一个和bind有关的笔试题,故记此文以备忘. bind和call以及apply一样,都是可以改变上下文的this指向的.不 ...
- MFC通过txt查找文件并进行复制-备忘
MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. ...
- php 相关模块备忘
在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- 『备忘』HttpWebRequest 在 POST 提交时, 标头(Headers)丢失原因
近来研究 HttpWebRequest —— 辅助类完成时,POST JSON数据 总会 丢失标头(Headers). HttpWebRequest POST JSON数据,分如下几步: > 将 ...
随机推荐
- 8and9 pod控制器
Pod控制器: 自主定义的pod资源删除后不会被重启,被Pod控制器管理的pod资源被删除后会重启. pod控制器的种类: ReplicationController: (最早使用,现在已经被废弃,太 ...
- React Native pod install报错 `Yoga (= 0.44.3.React)` required by `React/Core (0.44.3)`
使用pod安装,可能会因为Podfile的路径指向错误或者没有路径指向因为报错. 报错截图如下: 这是因为在指定的路径没有寻找到相应的组件.此时就需要修改podfile文件中的路径,由于上方提示没有 ...
- View的介绍和运用 && FlexBox布局
开始我们今天的项目学习啦~~~~~~ 1> 第一步当然是创建项目啦: 进入终端: 创建ViewDemo项目 命令如下啦,你看懂了对吧...嘻嘻!!! 2>View的介绍和运用 项目安装创建 ...
- Golang的goroutine协程和channel通道
一:简介 因为并发程序要考虑很多的细节,以保证对共享变量的正确访问,使得并发编程在很多情况下变得很复杂.但是Go语言在开发并发时,是比较简洁的.它通过channel来传递数据.数据竞争这个问题在gol ...
- java运行环境搭建
java运行环境搭建 1.安装jdk下载和安装 1). java是Sun公司的产品,由于Sun公司被Oracle公司收购,因此jdk可以在Oracle的官网下载.网址:https://www.orac ...
- fdisk中参数配置说明表
命令 描述 a 设置活动分区标志 b 编辑BSD Unix系统用的磁盘标签 c 设置DOS兼容标志 d 删除分区 l 显示可用的分区类型 m 显示命令选项(帮助) n 添加一个新的分区 o 创建DOS ...
- 11个顶级 JavaScript 日历插件
参考链接:https://mp.weixin.qq.com/s?__biz=MzI3NzIzMDY0NA==&mid=2247487050&idx=1&sn=e1cf66726 ...
- Prometheus + Grafana 监控 Redis
Prometheus安装 .linux-amd64.tar.gz .linux-amd64. cd /prometheus # Start Prometheus. # By default, Prom ...
- eval 命令
eval命令用于重新运算求出参数的内容. eval可读取一连串的参数,然后再依参数本身的特性来执行. 语法: eval [参数]示例:eval echo 123
- Minimum Number of Arrows to Burst Balloons
There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...