docker学习笔记
来源:互联网 发布:java线程池需要关闭吗 编辑:程序博客网 时间:2024/06/07 15:20
一 docker资源
docker官网:https://www.docker.com/
mac版客户端官网下载链接: https://www.docker.com/docker-mac
docker官方文档: https://docs.docker.com/get-started/part2/#build-the-app
docker hub: https://hub.docker.com/explore/
二 docker run 命令
docker run -i -t -p 8081:8081 ubuntu:16.04 /bin/bash
- 我们通过docker命令行工具,使用 run 命令运行一个指定的镜像
- 其中 -i参数将登录会话的标准输入关联到运行镜像的容器上
- -t参数为运行镜像创建了一个虚拟tty配合上-i参数,我们就可以以交互的方式直接操作容器内部环境
- -p 8081:8081参数为docker容器的内部端口与外部应用端口做了映射设置,让我们可以通过宿主机ip:port的形式直接访问到容器内部端口
- ubuntu:16.04是run命令需要运行的指定镜像名:标签,docker的镜像有标签的概念,可以理解为同一镜像的不同版本的区分标识
- /bin/bash指定运行镜像的主进程指令为一个/bin/bash。主进程意味着,当该进程结束时docker容器也会被相继销毁。如果读者的需求是需要一个长期备用的 linux 后台环境
- 容器正常启动后,进入 docker 容器内部操作内容与普通Linux环境就完全一致了,此处略过
- 当我们完成容器内的各种环境准备后我们希望能够复用适才搭建完成的环境,我们通过commit命令将搭好环境的容器构建成为镜像
看到这里,大家对docker的操作已经有了一个大致的感性认识了,下一步我们来看下docker的核心概念,深入浅出触类旁通。
三 docker核心概念
- client:docker 客户端,docker引擎的交互操作台,有命令行,可视化界面两种方式。
- engine:docker引擎,又名docker daemon,是docker体系中的控制中心。通过RESTFUL API或docker client进行交互,以管理docker容器的创建及运行时控制。
- image:docker镜像,一套巧妙的文件系统,记录拼装出需要的运行时环境。详情请见 1.3.1
- container:docker容器,在libcontainer基础上提供的更高级隔离方案,是一套标准化的docker镜像运行时环境。
- registry:docker镜像仓库,与git类似,docker registry有中央仓库和私人仓库,用于管理和存储docker镜像。与maven的repository类似的概念
- docker machine:字面翻译过来的意思是docker机器,其目标是负责在多平台上快速安装docker环境。他的存在是有历史背景的,docker engine的运行依赖特定的Linux内核版本,所以在Windows,OS X等非特定Linux内核的平台上运行时,docker machine会作为中间层,基于vm virtualbox提供一个轻量级的Alpine Linux运行环境供docker使用。PS: 在10.10+的OSX环境中,docker for Mac使用系统原生的 Hypervisor.framework 的 hyperkit 进行 Linux 虚拟机模拟而不是 VM VirtualBox。
四 常用docker命令
- docker rmi -f nginx
删除某个镜像, -f强制删除
~ docker rmi -f nginxUntagged: nginx:latestUntagged: nginx@sha256:735d07e61490e1237f0b39845efe448d8c269355069d6b9a1db5a434097026ebDeleted: sha256:b72d63324dbb75b65ed6bb25fed2be975f48c79d93306f52f38e12043c23b774
docker images
查看本地镜像仓库docker inspect ruzun_first_image:cool
查看镜像的详细信息- docker restart
重启docker - docker logs containerId
查看容器的日志,run的时候最好用–name参数指定容器的名字
会列出从运行到现在所有的操作,包括操作结果输出 - docker login
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub docker logout
登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker run –env
指定环境变量, –env 可以简写成 -edocker run –entrypoint=/bin/bash
Overwrite the default entrypoint set by the image
这个ENTRYPOINT可以让container设定默认启动行为,所以当container启动时,你可以执行任何一个二进制可执行程序docker history image
查看镜像年龄
➜ ~ docker history bruce256/docker:latestIMAGE CREATED CREATED BY SIZE COMMENTe47e4631c67a 2 weeks ago /bin/bash 591MB ruzun first docker imagedd6f76d9cc90 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B<missing> 2 weeks ago /bin/sh -c mkdir -p /run/systemd && echo '... 7B<missing> 2 weeks ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\... 2.76kB<missing> 2 weeks ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0B<missing> 2 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' >... 745B<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:5b334adf9d9a225... 122MB
docker run –name
指定启动后的容器名字,如果不指定则docker会帮我们取一个名字docker rm -f ubuntu(容器id)
删除容器,区别于rmi, remove image 的简写
阅读全文
0 0
- Docker学习笔记-Docker入门
- Docker学习笔记-Docker容器
- Docker学习笔记-Docker端口映射
- Docker学习笔记--Docker常用命令
- Docker学习笔记-Docker端口映射
- Docker学习笔记-Docker端口映射
- Docker学习笔记-Docker端口映射
- Docker 网络学习笔记
- docker学习笔记
- docker 学习笔记
- Docker学习笔记1
- openstack学习笔记----Docker
- Docker学习笔记
- Docker学习笔记(1)
- docker学习笔记1
- docker学习笔记
- Docker学习笔记之一
- docker 学习笔记1
- c++ primer 学习笔记1
- FORM表单请求和AJAX请求使用和适用场景
- 设计模式之禅19
- 机器学习实战笔记-使用FP-growth算法来高效发现频繁项集
- 图的遍历在入队(栈)前访问元素的原因
- docker学习笔记
- 自顶向下,逐步求精
- 回忆map20171126
- LeetCode 131 Palindrome Partitioning
- Vuejs学习参考
- have a test..
- Git 学习笔记1
- koa 实现 jwt 认证
- 《弃子长安》第八章 昨日黄花