Docker 初学习
基本印象
用于快速构建基础架构,进行快速测试,交互,部署代码.
docker运行的几个概念
运行概念
镜像Image、容器Container、仓库Repository
镜像
表示最小的一个环境架构的安装包,实际上就是一套文件系统,就代表了这个环境系统
容器
容器是镜像的运行时,其关系就相当于类和对象。
可以看做是一个正在运行的电脑。
容器可以被创建,启动,停止,删除,暂停等等。
仓库
这个就是代码控制中心,用来保存镜像,随时从仓库中调取镜像来生成容器。
使用概念
客户端client,主机host,注册表register,Machine机器工具
客户端
我们可以远程访问Docker容器进行测试管理。
通过命令行或者其他工具调用Docker SDK和docker的守护线程通信,这个守护线程就是专门用来和docker容器进行交互的。
主机
也就是docker容器和守护线程运行的机器。
Register
之前有一个仓库不是吗,用来放镜像文件的,这里的Register就是提供所有Docker可用镜像的东西。注册表。
然后这个Register下分了很多的仓库,进行分类。
仓库里面才是镜像文件。
Docker Machine
Docker Machine是Docker官方提供的一个工具,用于在本地计算机或云服务提供商上创建、管理和运行Docker容器主机。它允许您通过简单的命令行界面在多个主机之间轻松切换,而无需手动设置和管理每个主机。使用Docker Machine,您可以在不同的平台上快速创建Docker主机,例如VirtualBox、VMware、AWS、Azure等,从而实现快速部署和管理Docker环境的灵活性和便利性。
新手的开始
使用Docker运行一个容器,并在容器中执行操作。
1 |
|
解读这段命令.
docker run 是命令的主体
ubuntu:15.10 是命令的第一个参数指明了容器镜像
后面的字符串都是一个参数,表示容器中执行命令
可以看到如果在本地仓库找不到容器镜像,那么就回会到Register中寻找,下载到本地
交互式使用容器
在使用docker run 的时候加上两个参数
- -t: 在新容器内指定一个伪终端或终端。terminal
- -i: 允许你对容器内的标准输入 (STDIN) 进行交互。 input
1 |
|
接下来就会看到
显示:/#
表示我们处于docker容器内.
运行 exit 命令或者使用 CTRL+D 来退出容器
。
后台模式启动容器
实际上就是将容器以进程的形式运行.
- 使用 -d参数
1 |
|
接下来输出会是一串字符串
这串字符串是容器的id,我们可以通过容器的id查看容器内发生了什么.
查看运行容器
我们需要先通过
docker ps
来查看正在运行的容器
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
七种状态
- created(已创建)
- restarting(重启中)
- running(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
查看容器内的标准输出
1 |
|
停止容器
1 |
|
Docker容器的使用
查看容器命令大全
直接输入docker,然后就会显示所有的命令
1 |
|
具体如何使用某个命令,需要用到 –help选项
显示命令详细
查看了命令大全之后,通过docker 命令 –help来查看命令的详细使用介绍
1 |
|
常用的docker容器命令
下载镜像到本地仓库
使用docker pull 镜像名
1 |
|
启动容器,并以命令行模式进入
也就是新手开始中的 -it参数
1 |
|
直接通过ctrl+c或者exit命令退出容器
查看容器
新手中提到的是查看正在运行的容器,实际上也可以查看没有运行的程序
1 |
|
-a 表示查看所有容器
启动一个停止的容器
既然停止的容器没有删除,那么一定可以重新启动
通过 start 来启动一个停止的容器
1 |
|
让容器在后台运行(可以指定别名)
通过-d参数,实际上就是daemon守护线程的意思
1 |
|
可以看到通过 –name 给这个容器指定了一个别名,相比与id更加便于记忆
进入后台容器内部
通过exec参数