-
Window可以用Docker么
Docker是起源于Linux的技术,但是也可以用在Windows上。
关于具体的底层机制,参见《docker中文:在 Windows 上可以用 Docker 吗?》
-
沙箱机制
沙箱,是一个虚拟系统程序,沙箱提供的环境相对于每一个运行的程序都是独立的,而且不会对现有的系统产生影响,即沙箱提供一个限制该应用程序对系统资源的访问权限。
-
Docker构成
Docker系统有两个程序:docker服务器、docker客户端。所以在用docker version查看的时候,才会出现一大串。
-
搜索可用的docker镜像
docker search tutorial
-
下载docker镜像
docker pull learn/turotial
其中
learn/tutorial
是用户名/镜像名 -
实现hello world
docker容器,可以理解为在沙盒中运行的进程,这个沙盒包含了该进程运行所需要额所有资源,包括文件系统、系统类库、shell环境等。
三个概念:沙盒、进程、容器。
沙盒:默认是不会运行任何程序;
进程:需要在沙盒中运行一个进程来启动某个容器,这个进程是该容器的唯一进程;
容器:当该进程结束的时候,容器也会完全的停止。
# docker run 镜像名 在镜像中运行的命令 docker run learn/tutorial echo "hello world"
-
在容器中安装新程序
docker环境中无法相应交互,所以在下面命令中需要加入-y,以避免交互
docker run learn/tutorial apt-get install -y ping
-
保存对容器的修改
何为对容器做了修改?指的是通过在容器中运行命令。
保存状态的过程称之为committing(docker很多时候跟git有点像)
保存前后生成新旧两个版本。
docker ps -l #查看安装完ping命令之后容器的id
docker commit d0f68 learn/ping # 不需要全部id,有前面三四位就可以了。保存后返回新的id
-
运行新镜像
前面的动作,就实现了建立一个完整、自成体系的docker环境的目的。
它就可以在任何支持docker环境的系统中运行了。
docker run learn/ping ping www.google.com
-
检查运行中的镜像
docker ps # 查看正在运行的docker容器 docker inspect # 查看容器的详细信息
-
发布自己的镜像
docker images # 列出所有安装过的镜像 docker push # 将某个镜像发布到官方网站,不过只能将镜像发布到自己的空间下面。
-
Reference