如何开始docker - docker架构及创建容器
安装docker很简单,启动服务以后要怎么开始使用呢?
docker架构
传统的虚拟机架构是 物理机 -> 宿主机操作系统 -> Hypervisor支持 -> 虚拟机操作系统 -> 应用程序
docker架构是 物理机 -> 宿主机操作系统 -> docker引擎 -> 应用程序(这里面会包含镜像操作系统的文件,但是这些只是依赖环境,里面的内核根本就不会启动,/boot目录可以直接删除掉)
因此相对与传统的虚拟机的架构,docker显得很轻量级。
docker的组成
docker是采用C/S模式,使用远程API来管理创建docker。
容器的创建过程: 镜像仓库 ->pull 镜像到本地 -> 本地镜像 -> run容器 from 镜像 -> 创建容器并执行程序->程序退出->容器退出
1、dockerd服务端(守护进程),dockerd是docker的守护进程。
在CentOS7上使用systemd管理服务即可。
启动服务
systemctl start docker
停止服务
systemctl stop docker
重启服务
systemctl restart docker
设置开机启动
systemctl enable docker
2、docker客户端
docker这个命令就是docker的客户端,当然也有其他工具,但是这个工具基本已经 可以完成所有的工具,如果需要做自动化,可以调用这个命令,也可以使用其他的SDK工具。
docker version
Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:27 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 03:47:25 2019
OS/Arch: linux/amd64
Experimental: false
这个工具默认是通过/var/run/docker.sock连接到dockerd服务进行操作的。
3、镜像及仓库
要运行容器就需要镜像,当然也可以自己创建一个镜像,但是比较麻烦,所以最快的方式就是从镜像仓库里面直接pull镜像下载直接运行就可以了。
下载镜像
默认是从docker官方镜像下载,但是速度相对比较慢,阿里云有提供对应的镜像服务,但是需要另外的设置,登录阿里云,控制台 -> 产品与服务 -> 容器镜像服务(点击进入之后) -> 镜像加速服务,操作文档找到对应系统的,操作命令,直接复制运行既可以了。
docker pull centos:latest
查看本地镜像
docker images
创建容器
docker run -itd centos7
查看运行中的容器
docker ps
进入容器操作
docker exec -it [容器ID] /bin/bash
进入容器之后,就有了一个新的CentOS7的环境,可以在里面安装对应的应用程序,不会跟宿主机上的环境冲突。