docker|docker 分享

docker容器与虚拟机对比
特征 容器 虚拟机
启动速度 秒级 分钟级
性能 接近原生 较弱
内存代价 很小 较多
硬盘使用 一般为MB 一般为GB
运行密度 单机支持上千容器 一般几十个
隔离性 完全隔离 完全隔离
迁移性 优秀 一般
看完容器和虚拟机对比之后,我们来看一下docker的命令(其实如果你用git命令比较多的话,那么你会发现docker命令跟git命令有很多相似之处); 因为命令比较多,部分比较偏的命令我会截图展示
1.docker info 查看docker运行情况

docker|docker 分享
文章图片
image.png 2.docker search 搜索容器

docker|docker 分享
文章图片
image.png 3.docker pull 下载容器,默认下载latest版本,可以指定版本下载。
下载的时候也可以执行代理地址,参数是 --registry-mirror=proxy_url

docker|docker 分享
文章图片
image.png 4.docker images 查看所有镜像

docker|docker 分享
文章图片
image.png 5.docker tag 添加标签(改名)

docker|docker 分享
文章图片
image.png
会新增一个镜像,留意image id是一样的
6.docker inspect 查看容器的详细信息

docker|docker 分享
文章图片
image.png
能看到容器的详细信息,篇幅也比较大,如果是linux系统可以搭配more或者less 来查看。
7.docker commit 提交镜像到本地
(可以搭建自己的私人镜像库,把镜像提交到自己的私人库)
8.docker save 保存镜像到本地

docker|docker 分享
文章图片
image.png
可以保存一个或者多个镜像
9.docker load < filename 导入镜像

docker|docker 分享
文章图片
image.png 10.docker push 提交镜像
这里说下docker私人仓库的搭建吧,
1.下载docker 容器的registry
2.然后修改daemon.js
3.重启docker

  1. docker create 创建容器(只是创建,并没有运行)
12.docker start 启动一个容器
13.docker logs 查看容器的日志
14.docker pause 暂停容器
15.docker stop 停止容器
16.docker restart 重启容器
17.docker attach/exec 进入容器
  1. docker rm/rmi 删除容器 / 删除镜像
19.docker export 导出容器
20.docker import 导入容器(会创建容器的镜像)
21.docker top 查看容器内的进程
  1. docker stats 查看容器使用资源情况
23.docker volume 数据卷
  1. 创建数据卷容器
    1.docker run -d -ti -v/mydata --name mydata ubuntu:v1
    2.docker --volumes-from mydata ....--name ubuntu:v2 ubuntu:v1
    就能在名为ubuntu:v2容器里面看到mydata,如果容器mydata修改了数据卷mydata的内容,那么容器ubuntu:v2也能看到修改后的内容
25.docker -p 主机端口映射到容器端口 -P 目标主机随机一个49000-49900端口映射到内部开放的端口
26.docker --link 内联 name:alias 其中name为容器名称,可为containerid,alias为别名
27.dockerfile
【docker|docker 分享】ARG:构建参数
COPY:复制指令,文件要与dockerfile在同一个目录。(搭配.dockerignore)
FROM: 定制基于FROM的镜像
ENV:设置环境变量
RUN:安装应用和软件包,构建镜像
ENTERPOINT:启动容器的时候运行指令,跟cmd类似,可搭配使用,ENTERPOINT是固定的,CMD是可变的
VOLUME:定义匿名数据卷(避免重要的数据因容器重启而丢失,避免容器不断变大)
EXPOSE:仅仅是声明端口
WORKDIR:创建工作目录

    推荐阅读