🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > [hub.docker.com](https://hub.docker.com/explore/) > [官方手册](https://docs.docker.com/engine/install/centos/) > [在线 docker 试用工具](https://labs.play-with-docker.com/) > [教程](https://www.qikqiak.com/k8s-book/docs/10.Docker%20Swarm.html) > [docker-从入门到实践](https://yeasy.gitbook.io/docker_practice/) ## 概述 - 镜像预容器的关系,就想类与实例一样 ## 安装 ### mac `brew cask install docker` ### Centos ``` sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine -y \ && sudo yum install -y yum-utils device-mapper-persistent-data lvm2 \ && sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \ && sudo yum makecache fast && sudo yum install docker-ce docker-ce-cli containerd.io //设置代理 echo '"registry-mirrors": ["https://gz1chk08.mirror.aliyuncs.com"] }' > /etc/docker/daemon.json / 启动 docker 服务 systemctl status docker // 开启启动 systemctl enable docker ``` ### Ubuntu,Centos `curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -` ### 建立 docker 用户组 只有`root`用户和`docker`组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用`root`用户。因此,更好地做法是将需要使用`docker`的用户加入`docker`用户组。 ``` sudo groupadd docker sudo usermod -aG docker $USER ``` ## 镜像加速器 ## 注册阿里云得到docker镜像 https://cr.console.aliyun.com ##ubuntu /centos ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xj5fmf68.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` ## Mac ``` docker-machine create --engine-registry-mirror=https://xj5fmf68.mirror.aliyuncs.com -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info ``` ## windows ``` docker-machine create --engine-registry-mirror=https://xj5fmf68.mirror.aliyuncs.com -d virtualbox default ``` 托盘图标内右键菜单选择 Settings ``` { "registry-mirrors": ["https://xj5fmf68.mirror.aliyuncs.com"] } ``` ### 检查加速器是否生效 ``` > docker info |grep "Registry Mirrors" ``` ## 启动 docker ```bash $ service docker start $ ps aux | grep docker #检查是否开启 $ sudo docker info #查看docke 消息 ``` ### 备份 ``` $ sudo docker run \ --volumes-from dbdata \ -v $(pwd):/backup \ ubuntu tar cvf /backup/backup.tar /dbdata ``` 使用 `--volumes-from` 标记来创建一个加载 `dbdata` 容器卷的容器,并从主机挂载当前目录到容器的 `/backup` 目录 容器中的 `/backup`目录下生辰 tar 文件,可在主机得到 ### 恢复 如果要恢复数据到一个容器,首先创建一个带有空数据卷的容器 dbdata2。 ``` $ sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash ``` 然后创建另一个容器,挂载 dbdata2 容器卷中的数据卷,并使用`untar`解压备份文件到挂载的容器卷中。 ``` $ sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar ``` 为了查看/验证恢复的数据,可以再启动一个容器挂载同样的容器卷来查看 ``` $ sudo docker run --volumes-from dbdata2 busybox /bin/ls /dbdata ```