【docker系列】linux安装docker和docker-compose

大家好,我是walker
一个从文科自学转行的程序员~
爱好编程,偶尔写写编程文章和生活
欢迎关注公众号【I am Walker】,可以获取相关的学习资料哦

docker安装

安装步骤

1、先切换到root账号,其他的可能会没有权限

[vagrant@localhost /]$ su root
Password: 
[root@localhost /]# 

2、移除旧版本及数据

#移除版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

image.png

3、安装yum-util

yum install -y yum-utils
image.png

坑:
如果是centos8的话,可能会遇到坑,可能会出现下列的问题:

Error: Failed to download metadata for repo ‘baseos’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

原因是:在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。
CentOS 8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org,所以这个时候需要替换成阿里云的镜像,按照下面的指令执行就可以了

1、将源文件备份
cd /etc/yum.repos.d/ && mkdir backup && mv *repo backup/ 
2、下载阿里源文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
3、更新源里面的地址
sed -i -e "s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-*
sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-*
4、生成缓存
yum clean all && yum makecache

4、配置镜像仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

image.png

5、安装docker-ce

yum install docker-ce docker-ce-cli containerd.io

image.png
过程中回复 y即可

最后出现Complete就代表成功了
image.png

6、启动测试

sudo systemctl start docker

7、设置开启启动

这一步不是必要的,可以视情况而定,但是在实际使用中,肯定是需要设置的

sudo systemctl enable docker

image.png

8、查看docker版本

docker -v 

image.png

9、配置docker阿里云镜像加速器

使用国内的阿里云的,下载速度会快很多
1、创建文件夹:sudo mkdir -p /etc/docker
2、编写文件:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mos5bnjx.mirror.aliyuncs.com"]
}
EOF

image.png

3、重启daemon-reload
sudo systemctl daemon-reload

4、重启docker
sudo systemctl restart docker

docker-compose

安装

  • 优先确保有docker engine
  • 下载
 #官方下载
 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# daocloud下载 比较快
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

下载之后查看docker-compose的版本docker-compose -v

[vagrant@localhost ~]$ docker-compose -v
docker-compose version 1.25.1, build a82fef07
<think>好的,我现在需要帮助用户解析如何通过命令行将Docker官方GPG密钥添加到Ubuntu系统的APT密钥环中。用户提供的命令是`sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc`,我需要详细解释这个命令的每个部分,并给出步骤说明。 首先,我需要理解这个命令的作用。用户想要添加GPG密钥,以便APT能够验证从Docker仓库下载的软件包的真实性。GPG密钥用于签名验证,确保软件包未被篡改。 接下来,分解命令: 1. `sudo`:以管理员权限运行命令,因为目标目录可能需要root权限。 2. `curl`:用于下载文件的工具。 3. `-fsSL`:这些选项分别是静默模式(-s),失败时显示错误(-S),跟随重定向(-L),以及不显示进度(-f)。 4. 下载URL是Docker官方的GPG密钥地址。 5. `-o`选项指定输出文件路径为`/etc/apt/keyrings/docker.asc`,这个目录是APT存储密钥环的位置。 需要确认Ubuntu系统中是否存在`/etc/apt/keyrings`目录,如果不存在,可能需要手动创建,并设置适当的权限,比如755,确保只有管理员有写权限。 然后,步骤说明应包括: - 下载密钥文件到指定位置。 - 确认目录存在权限正确。 - 可能的后续步骤,比如更新APT缓存添加Docker仓库源。 同时,要注意不同版本的Ubuntu可能路径有所不同,比如旧版本可能使用`/usr/share/keyrings/`,需要根据实际情况调整。此外,用户可能在后续需要将仓库源添加到`sources.list.d`目录中,并再次更新APT。 还需要检查参考引用中的信息是否一致。例如,引用[^1][^4]提到使用`/usr/share/keyrings/`路径,而用户提供的命令使用的是`/etc/apt/keyrings/`。可能需要说明两种路径的区别,以及为何选择其中一个。 最后,生成相关问题,如验证密钥是否正确添加、处理权限问题、更新仓库配置等,帮助用户进一步操作。</think>### 命令解析与操作步骤 #### 命令分解 ```bash sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc ``` 1. **`sudo`**: 以管理员权限执行命令,操作涉及系统级目录需要权限[^4]。 2. **`curl`**: 命令行工具,用于下载文件。 3. **`-fsSL`**: 组合参数 - `-f`(--fail): 请求失败时静默退出 - `-s`(--silent): 隐藏进度条错误信息 - `-S`(--show-error): 与`-s`共用时显示错误 - `-L`(--location): 自动跟随重定向 4. **`https://download.docker.com/linux/ubuntu/gpg`**: Docker官方提供的GPG公钥地址[^2]。 5. **`-o /etc/apt/keyrings/docker.asc`**: 指定下载文件保存路径,保存为ASCII格式的密钥文件。 --- #### 完整操作流程 1. **创建密钥目录(如不存在)** ```bash sudo mkdir -p /etc/apt/keyrings && sudo chmod 755 /etc/apt/keyrings ``` - `mkdir -p`: 递归创建目录 - `chmod 755`: 设置目录权限(所有者可读写执行,其他用户只读执行) 2. **下载并保存GPG密钥** ```bash sudo curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" -o /etc/apt/keyrings/docker.asc ``` - 密钥文件将保存在`/etc/apt/keyrings/`目录下,命名为`docker.asc`[^3]。 3. **验证密钥添加** ```bash ls -l /etc/apt/keyrings/docker.asc ``` - 检查文件是否生成,输出类似: ``` -rw-r--r-- 1 root root 3.5K Jun 15 10:00 /etc/apt/keyrings/docker.asc ``` 4. **后续配置(可选)** - 添加Docker仓库源至APT配置(需根据系统版本调整): ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list ``` - 更新APT缓存: ```bash sudo apt update ``` --- ### 注意事项 1. **路径差异** - 旧版系统可能使用`/usr/share/keyrings/`[^2],新版Ubuntu推荐`/etc/apt/keyrings/`。 2. **密钥格式** - 若需二进制格式(`.gpg`后缀),可替换`-o`参数路径为`/usr/share/keyrings/docker-archive-keyring.gpg`。 3. **权限问题** 若出现`Permission denied`错误,检查目录权限并确保使用`sudo`[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WalkerShen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值