目录
二.启动Docker并解决 /etc/init.d/docker:62: ulimit: limit setting error (Invalid argument)
一.apt-get下载Docker
1.安装Docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
可能报错:
E: Unable to locate package lsb-release
原因是未安装lsb-release。解决:
sudo apt-get update && apt-get install -y lsb-release && apt-get clean all
再重新运行一遍:
sudo apt-get install ca-certificates curl gnupg lsb-release
2.添加docker密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
3.添加阿里云docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
可能报错:
bash:add-apt-repository: command not found
原因是没有安装add-apt-repository。解决:
sudo apt-get install software-properties-common
再重新运行一遍:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
4.安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.i
5.检验docker是否安装成功
docker --version
如果成功会显示版本号,:Docker version 27.3.1, build ce12230
二.启动Docker并解决 /etc/init.d/docker:62: ulimit: limit setting error (Invalid argument)
Ubuntu启动docker,可以用service命令(systemctl会报错)
sudo service docker start
如启动会显示: * Starting Docker: docker [ok]
这一步可能会报错说:/etc/init.d/docker:62: ulimit: limit setting error (Invalid argument)
原因是在/etc/init.d/docker文件的第62行语法错误。解决:
1) 进入该文件,输入i 进行编辑
vim /etc/init.d/docker
2)把 ulimit -Hn 524288 改成 ulimit -n 524288
3)按Esc,并输入:wq!保存退出
4)再重新启动docker
sudo service docker start
三.查看docker状态并解决is not running
用service命令查看:
sudo service docker status
如启动成功会显示:* Docker is running
否则显示:* Docker is not running
可能会报错的是:已经start [ok]了docker,但是查看docker状态是is not running
查看docker日志:
sudo cat /var/log/docker.log
原因是ubuntu的网络连接是nat的,要改成iptables的。
解决:
touch /etc/fstab #创建这个文件用来启动
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy #设置连接方式
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy #设置连接方式
sudo service docker start # 重新启动
sudo service docker status # 查看状态