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" } ]