1、下载
通过官网下载docker安装包,找arm环境的安装包,如果是x86环境可以下载对应的安装包
Index of linux/static/stable/aarch64/
2、上传到服务器上,通过rz命令
上传成功后解压 tar -xvf docker-24.0.6.tgz
3. 复制文件到 /usr/bin
cp ./docker/* /usr/bin
4. 创建docker.service
vim /etc/systemd/system/docker.service
把这些复制到创建的文件中(注意需要修改insecure-registry=192.168.205.230,ip地址修改为当前机器的地址)
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=192.168.205.230
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5. 添加可执行权限
chmod +x /etc/systemd/system/docker.service
6. 常用命令
systemctl daemon-reload # 加载docker.service
systemctl start docker # 启动docker
systemctl status docker # 查询docker当前状态
systemctl enable docker.service # 设置开机自动启动
7、使用docker ps -a 命令查看运行的容器
8、关闭防火墙命令
systemctl stop firewalld
systemctl disable firewalld
##selinux 无需操作,k8s脚本自动设置selinux
sed -i s#SELINUX=.*#SELINUX=disabled#g /etc/selinux/config
setenforce 0
9、普通用户执行docker ps -a 命令报错
解决办法:把我们当前的用户添加到docker组中就可以了,这样他们就是一家人了。
第一步:sudo gpasswd -a username docker #将普通用户username加入到docker组中,username这个字段也可以直接换成$USER。
第二步:newgrp docker #更新docker组
第三步:再执行你报错的命令,此时就不会报错了。
启动报错分析原因
命令:需要把这个文件修改下名字,目录/etc/docker mv daemon.json daemon.conf
迁移docker
通过修改 Docker 配置文件的方式来修改 Docker 数据存储路径,以减少系统盘的占用空间。
1、停止 Docker 服务
systemctl stop docker
2、备份当前的 Docker 数据存储目录 /var/lib/docker,或者直接把/var/lib/docker 移动到新建的目录,一定要先停止docker在操作
mv /var/lib/docker /var/lib/docker.bak
3、创建新的 Docker 数据存储目录,例如 /data/docker
mkdir /data/docker
4、修改 Docker 配置文件
修改 Docker 配置文件 /etc/docker/daemon.json,如果该文件不存在,则创建它:
vim /etc/docker/daemon.json
将以下内容复制粘贴到文件中,并将其中的 /data/docker 替换为实际的数据存储路径:
{ "data-root": "/data/docker" }
5、启动 Docker 服务
systemctl start docker
6、测试验证
确认 Docker 数据存储路径是否已经修改成功:
docker info | grep 'Docker Root Dir'
7、可能出现启动不成功的问题:按照这样的方法试试
docker默认存储路径在/var/lib/docker下
[root@node01 system]# docker info | grep -i dir
Docker Root Dir: /var/lib/docker
修改docker的systemd的配置文件
方法一、
移动文件位置
cp -a /var/lib/docker /home/docker
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /home/docker
编辑 /etc/docker/daemon.json 文件,如果不存在得手动创建,如果你写了国内源的话,就在这下边在加一行就行。
{
"registry-mirrors":["http://docker.mirrors.ustc.edu.cn"],
"exec-opts": ["native.cgroupdriver=systemd"],
"data-root": "/home/docker"
}
最后重新加载配置,启动,查看路径是否修改成功
systemctl daemon-reload
systemctl restart docker
[root@node01 system]# docker info | grep -i dir
Docker Root Dir: /home/docker
方法二、
创建软连接
移动文件位置
cp -a /var/lib/docker /home/docker
创建软连接
sudo ln -fs /home/docker /var/lib/docker
重新加载配置&查看位置
复制
systemctl daemon-reload
systemctl restart docker
[root@node01 system]# docker info | grep -i dir
Docker Root Dir: /home/docker
docker 启动容器报错
1、/usr/bin/docker-current: Error response from daemon: shim error: docker-runc not installed on system
创建软连接
ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc-current
如果不行的话
但是尝试之后依然发现没有解决问题,后来检查了一遍所有的配置文件发现问题:
[root@localhost docker.service.d]# pwd
/usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --storage-driver devicemapper --label provider=generic --bip=10.2.31.1/24 --mtu=1450
Environment=
没有指定docker-runc参数导致,docker无法找到相应文件的位置,因此在进行排错迁一定要确认参数配置正确
2、如果报错exec: "docker-proxy": executable file not found in $PATH
创建软连接,然后重启docker
ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy
猜你喜欢
- 18天前(a级景区评定机构)全国A级旅游景区创建与提升培训班在敦煌市举办
- 18天前(四川推进世界重要旅游目的地建设工作)四川推进世界重要旅游目的地建设
- 18天前(东北地区全域旅游)东北三省一区宣传贯彻研学旅游行业标准
- 18天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 18天前(马尔代夫华尔道夫酒店多少钱)Chef Zhao就任马尔代夫伊挞富士岛华尔道夫酒店Li Long中餐厅新主厨
- 18天前(安岚度假村及酒店推出"山海之约"目的地婚礼计划)安岚度假村及酒店推出"山海之约"目的地婚礼计划
- 18天前(世茂海峡大厦多高)巴西地产高管齐聚厦门世茂海峡大厦 共探超高层建筑锻造经验
- 18天前(锦州新增两家国家aaa级旅游景区有哪些)锦州新增两家国家AAA级旅游景区
- 18天前(内蒙古冬季旅游攻略)内蒙古冬日奇遇:携程租车带你策马踏雪
- 18天前(曹妃甸美仑华府哪个楼层好)曹妃甸新城教育经济新引擎启动—美仑国际酒店盛大开业
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章