搭建docker环境
如果你过去安装过 docker,先删掉:
1 | sudo apt-get remove docker docker-engine docker.io |
首先安装依赖:
1 | sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common |
信任 Docker 的 GPG 公钥:
1 | curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - |
如果你是树莓派或其它ARM架构计算机,请运行:
1 | echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list |
最后安装
1 | sudo apt-get updatesudo apt-get install docker-ce |
使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Raspbian 系统上可以使用这套脚本安装,另外可以通过 --mirror
选项使用国内源进行安装:
1 | $ curl -fsSL get.docker.com -o get-docker.sh |
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的稳定(stable)版本安装在系统中。
启动 Docker CE
1 | $ sudo systemctl enable docker$ sudo systemctl start docker |
建立 docker 用户组
默认情况下,docker
命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root
用户和 docker
组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root
用户。因此,更好地做法是将需要使用 docker
的用户加入 docker
用户组。
建立 docker
组:
1 | $ sudo groupadd docker |
将当前用户加入 docker
组:
1 | $ sudo usermod -aG docker $USER |
退出当前终端并重新登录,进行如下测试。
测试 Docker 是否安装正确
1 | $ docker run hello-worldUnable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world4ee5c797bcd7: Pull complete Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4eStatus: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm32v7)3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID: https://hub.docker.com/For more examples and ideas, visit: https://docs.docker.com/get-started/ |
docker-compose的安装
开始是找的国内的镜像,但是下载一直是8k的文件不能执行打开就是文件下载失败这种内容,可能是我这个网络问题
1 | curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose |
后面我找到别的资源
至此Docker就安装好了,再安装docker compose。
先看有没有pip或pip3,有就直接卸了。然后安装:
Bash
1 | $ apt-get remove python-pip python3-pip |
然后安装一些依赖库
1 | apt install python-dev python3-dev libevent-dev python-scipy libssl-dev libffi-devapt install apt-transport-https ca-certificates curl gnupg2 software-properties-commonpip install cryptography |
查看pip版本:
1 | root@raspberrypi:~# pip3 --versionpip 19.1.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)root@raspberrypi:~# |
安装docker compose
这里通过pip的方式安装,所以先安装pip
1 | $ pip3 install docker-compose |
如果你报了什么
1 | TypeError: unsupported operand type(s) for -=: 'Retry' and 'int' |
这样的错误,多半是用了上古时代的pip,参考上述方式卸载重装,然后重启一下。如果是下面这样的错
1 | pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.piwheels.org', port=443): Read timed out. |
是由于网络连接超时,重新执行命令就好,或者用国内镜像下载。可以多试几次
安装好了查看版本:
1 | root@raspberrypi:~# docker-compose --versiondocker-compose version 1.24.1, build 4667896root@raspberrypi:~# |
sudo pip3 install docker-compose
设置docker镜像
1 | sudo mkdir -p /etc/docker |
镜像加速器 镜像加速器地址 专属加速器? 其它加速? |
---|
Docker 中国官方镜像 https://registry.docker-cn.com |
Docker Hub DaoCloud 镜像站 http://f1361db2.m.daocloud.io 可登录,系统分配 |
Docker Hub Azure 中国镜像 https://dockerhub.azk8s.cn |
Docker Hub、GCR、Quay 科大镜像站 https://docker.mirrors.ustc.edu.cn |
Docker Hub、GCR、Quay 阿里云 https:// |
Docker Hub 七牛云 https://reg-mirror.qiniu.com |
Docker Hub、GCR、Quay 网易云 https://hub-mirror.c.163.com |
Docker Hub 腾讯云 https://mirror.ccs.tencentyun.com |
作者:y0ngb1n链接:https://juejin.im/post/5cd2cf01f265da0374189441来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
### docker命令
1 | #查看 Docker 版本 |
常用配置和工具命令
1 | #查看 Docker 版本docker -vsudo docker pull 仓库/镜像:版本(留空的话默认为 latest) |
部署
docker images,docker ps
docker pull nextcloud
docker pull portainer/portainer
1 | docker run -ti -d --name kevin-portainer -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainerdocker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer |
1 | docker volume create portainer_data |
1 | mkdir /home/nextclouddocker run --name nextcloud -p 8080:80 -v /home/nextcloud:/var/www/html/data -d nextcloud |
https://cloud.tencent.com/developer/article/1371476
中间找不文件就选择下面这个命令
1 | cd /var/lib/find . -name "config.php" |