caspertian 2020-01-17
Docker使用了C/S架构,客户端与守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过UNIX套接字或网络接口进行通信。

Docker的英文翻译是”搬运工“的意思,他搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App,我们的开发人员可以通过Docker 将App变成一种标准化的、可移植的、自管理的组件,我们可以在任何主流的操作系统中开发、调试和运行。Docker和虚拟机比较类似,只是更加轻量级,更加方便使用。
#docker官方提供了安装脚本,我们确认好版本就可以直接安装# export VERSION=18.06 curl -fsSL "https://get.docker.com/" | bash -s -- --mirror Aliyun
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://hjvrgh7a.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF要添加harbor仓库时需要在添加下面一行 "insecure-registries": ["harbor.demon.com"],默认docker hub需要https协议,使用上面配置不需要配置https。
yum install -y epel-release bash-completion && cp /usr/share/bash-completion/completions/docker /etc/bash_completion.d/ systemctl enable --now docker
数据卷是一个可供一个容器或多个容器使用的特殊目录,数据卷的使用,类似于NFS挂载,镜像中被指定为挂载点的目录会隐藏掉,能显示看的是挂载的数据卷。
[ ~]# docker volume create my-volume my-volume
[ ~]# docker volume ls DRIVER VOLUME NAME local my-volume
如果使用的Docker有容器在运行,这里可能会不止一个。但是如果不添加-v参数,当容器停止或者删除时,volume同时也会被删除。
inspect查看指定数据卷的信息[ ~]# docker volume inspect my-volume
[
{
"CreatedAt": "2020-01-17T15:54:55+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my-volume/_data",
"Name": "my-volume",
"Options": {},
"Scope": "local"
}
]