【docker 安装】 与【docker-compose 安装】

news/2024/11/28 7:35:45/

不同的操作系统需要不同的docker安装文件:具体下载位置:
Docker: https://download.docker.com/linux/static/stable/
docekr-compose:https://github.com/docker/compose/releases

1. 验证客户机器是否有docker 和docker-compose

docker -v
输出Docker版本号成功>>  Docker version 20.10.12, build 3967b7d docker-compose -v
输出Docker-compse版本号成功>> docker-compose version 1.29.2, build 5becea4c

1.1 docker安装

  1. 将压缩包上传到服务器并解压
tar -zxvf xxx.taz 
  1. 拷贝docker文件夹至/usr/bin/下
cp docker/* /usr/bin/
  1. 拷贝docker.service文件夹至/etc/systemd/system/下
cp docker.service  /etc/systemd/system/
  1. 查看本机ip
ifconfig>>---
enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.31.242  netmask 255.255.255.0  broadcast 192.168.31.255inet6 fe80::7656:3cff:fe27:4006  prefixlen 64  scopeid 0x20<link>ether 74:56:3c:27:40:06  txqueuelen 1000  (Ethernet)RX packets 50821046  bytes 52119283120 (52.1 GB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 65044588  bytes 45372132281 (45.3 GB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 修改/etc/systemd/system/docker.service
vim /etc/systemd/system/docker.service

修改对应位置配置,保存退出。

[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.31.242
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
  1. 添加执行权限 /etc/systemd/system/docker.service
chmod +x /etc/systemd/system/docker.service
  1. 重新加载服务配置文件
systemctl daemon-reload 
  1. 设置开机启动
systemctl enable docker.service
  1. 启动docker
systemctl start docker
  1. 查看docker状态
systemctl status docker>>>
docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2021-09-17 09:29:46 UTC; 1 years 10 months agoDocs: https://docs.docker.com
  1. 查看docker版本
docker -v >>>输出Docker版本号安装成功>>  Docker version 20.10.12, build 3967b7d 
安装成功

1.2 docker-compose安装

  1. 将docker-compose文件移动到/usr/local/bin/下
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  1. 赋予可执行权限
sudo chmod +x /usr/local/bin/docker-compose 
  1. 查看版本验证是否成功
docker-compose -v
输出Docker-compse版本号安装成功>> docker-compose version 1.29.2, build 5becea4c
  1. 验证当前用户是否有docker,docker-compose命令权限.
    2.1 当前用户执行docker命令 验证:
docker ps>>>
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

根据报错信息(/var/run/docker.sock: connect: permission denied),可知,用户无操作权限。
若可以正常执行则忽略此处

2.1.1 查看docker组用户:

cat /etc/group  | grep docker>>>
docker:x:999:<username>

如果有docker用户组,且当前用户不在docker用户组中,将当前用户加入到docker用户组中,并更新用户组,重启docker。

# 新建docker组,若存在,则忽略
groupadd docker# 修改docker.sock权限为root:docker
sudo chown root:docker /var/run/docker.sock#将用户添加到docker组
sudo usermod -aG docker ${USER}#更新用户组
newgrp docker#重启docker
systemctl daemon-reload 
systemctl restart docker

2.2 docker-compose权限设置
查看docker-compose执行权限:

ll  /usr/local/bin/   |grep docker-compose >>>
-rwxr-xr-x  1 root root 8856808 Mar 10 02:11 docker-compose*

docker-compose 属于root , root在用户组root中。 root用户可读可写可执行(rwx)
root组其用户可读不可写可执行(r-x)。 其他用户可读不可写可执行(r-x)

若当前用户没有可执行权限:

sudo chmod a+x /usr/local/bin/docker-compose

http://www.ppmy.cn/news/979232.html

相关文章

Vue源码学习 - 数据响应式原理

目录 前言一、入口查找二、初始化initState()initProps()initData()observe() - Observer的守护ObserverdefineReactive() 三、依赖收集Watcher 和 Dep 通过 例子 对概念有个了解1&#xff09;什么是Watcher呢&#xff1f;2&#xff09;Watcher的种类有哪些呢&#xff1f;3&…

【linux】uboot之链接重定向

文章目录 一、uboot中的链接脚本重定向二、具体代码编译器选项uboot中的符号重定向 一、uboot中的链接脚本重定向 在 U-Boot 中&#xff0c;链接脚本&#xff08;Linker Script&#xff09;用于指定可执行文件的内存布局和符号表等信息。通过修改链接脚本&#xff0c;可以对程…

于大模型迁移中学习 Docker

最近在做大模型的昇腾迁移&#xff0c;国产化框架踩坑不少&#xff0c;基本一天的工作量相当于之前做纯视觉算法时一周踩过的坑数了。 现在在modelarts上用八卡昇腾910跑llama&#xff0c;不同于之前自己配环境&#xff0c;昇腾生态创新中心都是用的镜像&#xff0c;虽说打包起…

Shell编程基础(三)环境变量 位置变量 系统内置变量

环境变量 & 环境变量环境变量范围父子进程之间有效指定用户有效所有用户有效 位置变量系统内置变量 环境变量 在脚本种直接定义的变量&#xff0c;只能在当前shell进程中使用 若想要在其他shell进程中使用&#xff0c;可以将变量声明为 环境变量 export 变量名 &#xff…

问题解决Can‘t update table ‘category‘ in store

问题描述: 使用spring boot的时,候访问更新数据库内容接口报错: Error updating database. Cause: java.sql.SQLException: Cant update table category in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 问题…

夯实数字化转型安全地基,华东某农商行开源安全治理经验

华东某农村商业银行是一家全国首批组建的股份制农村金融机构。近年来&#xff0c;该农商行坚持“科技强行”战略&#xff0c;进一步夯实数字化核心基础&#xff0c;积极推动金融科技与产品、服务的深度融合&#xff0c;努力拓展数字金融的包容性&#xff0c;让数字金融更有温度…

Java maven project XPathFctory

java Maven project, 更新了一个java库&#xff0c;项目无法编译了&#xff0c; 一直报错&#xff1a;No XPathFctory implementation found for the object model: Java 中 XPathFactory 只有抽象定义&#xff0c;没有具体实现&#xff0c;需要添加实现类&#xff0c;经过百度…

【100天精通python】Day16:python 模块的搜索目录和导入模块异常时的处理方法

目录 1 搜索模块所在目录 2 模块不在搜索目录中 2.1 添加模块所在的目录到PYTHONPATH环境变量 2.2 修改sys.path 2.3 使用绝对路径导入 2.4将模块复制到Python搜索路径中的任意一个目录 2.5 总结 3 其他导入的模块异常处理 3.1 模块未安装 3.2 模块名称拼写错误 3.3模…