docker 安装
如果你过去安装过 docker,先删掉安装包:
sudo apt-get remove docker docker-engine docker.io containerd runc
删除镜像、容器、配置文件等内容:
sudo rm -rf /var/lib/docker
自动安装
Docker 提供了一个自动配置与安装的脚本,支持 Debian、RHEL、SUSE 系列及衍生系统的安装。
以下内容假定
- 您为 root 用户,或有 sudo 权限,或知道 root 密码;
- 您系统上有 curl 或 wget
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
wget -O- https://get.docker.com/ | sh
启动
sudo systemctl start docker
设置开机启动docker
sudo systemctl enable docker
docker 使用授权 用户加入docker组
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,
并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令。
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
docker ps
检查是否成功:
执行"docker version"命令,发现不再出现"Got permission denied"权限报错,如上图示。
更改镜像源
docker 配置国内镜像地址
为docker配置国内镜像地址,用于在pull镜像下载加速
1. 创建配置文件daemon.json
在目录/etc/docker/daemon.json下,如果没,则创建该文件
sudo vi /etc/docker/daemon.json
2. 按如下格式化添加镜像地址
{"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]}
3. 添加完重启docker,并使用docker info 命令查看
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker info
Docker WARNING: No swap limit support”警告
docker可以通过启动命令来限制容器可以使用的最大物理内存和swap,但是通常在使用这些命令的时候经常会碰到“WARNING: No swap limit support”警告
大概意思就是不支持swap内存的限制,所以在使用,在国内的腾讯云和阿里云服务器上测试都是报这个警告的。
限制docker容器最大内存使用量
-m 64M --memory-swap=128M
#-m 64M 限制了容器运行可以使用的最大物理内存为64M,
#--memory-swap=128M限制容器可以使用的最大虚拟内存为128M,
#在出现WARNING: No swap limit support警告时这两个参数是无效的。
解决方法
#编辑/etc/default/grub文件
vim /etc/default/grub<br>
#找到GRUB_CMDLINE_LINUX=配置项,并追加
cgroup_enable=memory swapaccount=1
注意
如果GRUB_CMDLINE_LINUX=内有内容,切记不可删除,只需在后面追加cgroup_enable=memory swapaccount=1并用空格和前面的内容分隔开。<br>
#配置如下
GRUB_CMDLINE_LINUX="net.ifnames=0 console=tty0 console=ttyS0,115200n8 cgroup_enable=memory swapaccount=1"
#保存,升级grub
sudo update-grub
#重启服务
reboot