docker基础篇
下载,安装
安装Windows社区版 官网地址:https://store.docker.com/editions/community/docker-ce-desktop-windows?tab=description
但是官网很慢:推荐这个地址,https://oomake.com/download/docker-windows 很快 // 貌似不行
再贴一个中文官网 https://www.docker-cn.com/
概念
docker镜像 可以创建docker容器
docker镜像 好比 类
docker容器 好比 对象
容器可以看做一个简易版的Linux环境。
仓库是集中存放镜像的场所。
仓库和仓库注册服务器是不一样的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含多个镜像,每个镜像有不同的标签。
仓库分为私有仓库和公开仓库。
最大的公开仓库是Docker Hub
在线安装docker ,centos6.8版本
cat /etc/redhat-release 查看linux版本
yum install -y epel-release 安装docker所需要的库
yum install docker-io 安装docker
service docker start 启动docker
docker version 查看版本
配置阿里云镜像加速器
vim /etc/sysconfig/docker 编辑docker配置文件
other_args="--registry-mirror=https://你的阿里云.mirror.aliyuncs.com"
service docker restart 重启
ps -ef|grep docker 检查是否生效,后面会带着地址。
hello-world第一个docker程序启动
docker run hello-world 就ok。docker会在本地找hello-world这个镜像,如果没有,就回去阿里云上仓库拉取到本地,然后启动。
docker常用的命令
查看镜像
docker images //查看本地的docker镜像
docker images -a 列出本地所有镜像 包含中间映像层 。
docker images -q 只显示镜像Id
docker images --digests 显示镜像的摘要信息
docker images --digests --no-trunc 显示完整的镜像信息
删除镜像
docker rmi hello-world //正在运行的不能删除,会报错
docker rmi -f hello-world // 强制删除
docker rmi -f hello-world nginx // 删除多个
docker rmi -f $(docker images -qa ) // 全部删除
启动镜像
docker run -d 镜像名 以守护进程的方式进行启动 但是docker ps 不会显示启动的docker 这样启动后台会立即关闭,这是docker的特性。你需要这样启动
docker run -d centos /bin/sh -c ''while true ; do echo hello zzyy; sleep 2;done" 这句话的意思是以后台启动但是没个2秒打印一句hello zzyy 这样docker就不会启动就立即关闭了。docker ps就可以查看进程了
docker run -it --name mydocker 镜像名 给容器起一个别名,并以交互的方式启动
docker logs -f -t --tail 容器id -t 时间戳 -f跟随最新的日志打印 --tail 数字,显示最后多少条
docker inspect 45vajs78689 查看docker容器详细信息 json信息
docker attach 容器id 进去docker容器 ------但是会卡住,不知道原因。可以用下面的命令
docker exec -it containerID /bin/bash // 进去容器
docker exec -t 容器id ls -l /tmp 意思是在宿主机不进去容器来操作容器
docker run -it -p 8888:8080 tomcat -p 主机端口 :docker容器端口 -P随机分配端口 i:交互 t:终端 docker对外暴露的是8888端口,真正访问的是docker容器的8080端口
docker run -i -t -v /download:/mnt/software 1f879014f4d2 /bin/bash 将本地的文件挂载到docker中
docker run -i -t -v /download:/mnt/software :ro 1f879014f4d2 /bin/bash 将本地的文件挂载到docker中 ,ro的意思容器不能写,只能读
- 其中,相关参数包括:
- -i:表示以“交互模式”运行容器
- -t:表示容器启动后会进入其命令行
- -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> 路径要是绝对路径
docker start 容器Id 启动之前退出的容器
退出容器
exit 容器停止退出 或者 Ctrl+d
ctrl+p+q 容器不停止退出
如果退出容器后,可以再次使用命令(注意,得先运行docker run之后然后被stop掉的容器才可以使用如下命令) docker start 容器ID
docker kill 容器id 杀死进程
复制文件
docker cp 容器id : /usr/local/my.txt /tmp/c.txt 意思是把容器内的文件拷贝到宿主机上
自定义镜像
docker commit -a="zzyy" -m="del tomcat docs " d6o9862k yixin/tomcat:1.2
-a 作者 -m 信息 容器id 起的镜像名字
docker基础篇的更多相关文章
- 小白入门Docker基础篇
docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...
- Docker 基础篇 入门篇
1.Docker入门 1.为什么要用docker? 相比于传统: 部署非常慢 成本非常高 资源浪费 难于迁移和扩展 可能会被限定硬件厂商 由于物理机的诸多问题,后来出现了虚拟机 一个物理机可以部署多个 ...
- docker(基础篇)
http://naotu.baidu.com/file/f02773930afb2d3d9e71621249099d31 centos7安装 https://yq.aliyun.com/articl ...
- 小白学Docker之基础篇
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...
- Docker虚拟化实战学习——基础篇(转)
Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...
- Docker之基础篇
小白学Docker之基础篇 系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1 ...
- Docker镜像管理基础篇
Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...
- Docker基础用法篇
Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...
- docker+k8s基础篇五
Docker+K8s基础篇(五) service资源介绍 A:service资源的工作特性 service的使用 A:service字段介绍 B:ClusterIP的简单使用 C:NodePort的简 ...
随机推荐
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- Mac+Docker环境下xdebug的配置
由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...
- 使用 idHTTP 获取 UTF-8 编码的中文网页
uses IdHTTP; const Url = 'http://del.cnblogs.com'; procedure TForm1.Button1Click(Sender: TObject); v ...
- Laravel 5.5 文档 ] 快速入门 —— 安装配置篇
服务器要求 Laravel 框架对PHP版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件很遗憾的事情),有 ...
- poj 3352 Road Construction(边双连通分量+缩点)
题目链接:http://poj.org/problem?id=3352 这题和poj 3177 一样,参考http://www.cnblogs.com/frog112111/p/3367039.htm ...
- awk、sed、grep三大shell文本处理工具之grep的应用
1.基本格式grep pattern [file...](1)grep 搜索字符串 [filename](2)grep 正则表达式 [filename]在文件中搜索所有 pattern 出现的位置, ...
- SourceTree 如何下载git 管理的代码-如何创建分支,删除分支,提交代码,回退代码
把用户给的链接拿过来,然后输入浏览器,然后在左侧会有Actions 中有个Clone;点击Clone之后,有个 Clone in Source Tree 点击,打开你的本地Source Tree,然后 ...
- 在DBGrid中,单击单元格选择整行,双击又可编辑单元格
在设计过程中,有时候数据较大量,field 较多的时候,只是点击单元格可能会对某个field的数据误操作(如数据错行),为此才会想到这个问题,解决办法如下:点击单元格就改当前行颜色. 首先DBGRID ...
- jquery Ajax get()/post()
get()/post()是通過http get/post向服務器請求數據的. http get vs post: get:向指定資源獲取數據 post項指定資源提交數據. get是向遠程服務器的獲取數 ...
- python之enumerate函数:获取列表中每个元素的索引和值
源码举例: def enumerate_fn(): ''' enumerate函数:获取每个元素的索引和值 :return:打印每个元素的索引和值 ''' list = ['] for index, ...