在Centos7上安装docker并成功运行hello-world镜像

在Centos7上安装docker并成功运行hello-world镜像

懂英语的小伙伴可以直接去docker国外网站直接阅读doc来安装

安装网址:https://docs.docker.com/install/linux/docker-ce/centos/

不懂的小伙伴们也没关系,下面我们来一步一步安装。

卸载以前旧版本

  • 如果以前没有安装过的可以跳过这个步骤,安装过的执行下面的代码:
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

(有 root 权限的可以不加 sudo)

安装docker

我们来执行第一步:

  • 在新主机上首次安装Docker Engine-Community之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
  • 设置存储库,安装所需的软件包。yum utils提供yum config manager实用程序。
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

(腾讯云会提示已经安装过了,阿里云会执行安装。)

第二步:

  • 使用以下命令设置稳定存储库。
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

第三步:

  • 安装docker
$ sudo yum install docker-ce docker-ce-cli containerd.io

启动docker

$ sudo systemctl start docker

查看docker版本

docker version

配置镜像加速器

好到现在我们就完成了docker的安装操作,接下来我们去阿里云或者网易云那里来获取一个加速器链接,为什么要获取加速链接呢,因为在国内访问国外的 docker hub 会非常的慢,所以我们去国内的库来获取镜像。

阿里云配置镜像加速器:https://cr.console.aliyun.com/#/accelerator

我们拉到最下面找到镜像加速器:

上面那个就是你的专属的加速器地址,按照下面的说明文档,来进行操作。

他上面说的这个配置文件本地应该是没有的,我们可以通过 vim 命令来编写并创建这个文件

$ sudo vim /etc/docker/daemon.json

在里面加上下面的代码:(把下面代码中的 ×× 替换成阿里云给你的号)

{
   "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}

esc退出编辑,:wq 保存文件

执行下面两行代码:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

查看是否生效可以用下面的代码

ps -ef| grep docker

ok,一切完成来试试从hub上拉一个 hello-world 镜像试试看。

hello-world镜像

执行下面代码:

docker run hello-world

显示如下欢迎界面则恭喜你 docker 的配置安装完成。

### 解决CentOS 7安装Docker运行'hello-world'容器时遇到的问题 #### 验证Docker服务状态 确保Docker守护进程正在运行。可以使用`systemctl status docker`来查看当前的服务状态[^1]。 如果Docker未启动,则可以通过下面的命令启动它: ```bash sudo systemctl start docker ``` 为了使Docker开机自启,执行如下命令: ```bash sudo systemctl enable docker ``` #### 测试Docker安装是否成功 通过尝试拉取官方测试镜像`hello-world`来验证Docker引擎工作正常与否。此操作会自动从仓库下载该镜像创建一个新的容器实例以展示一条欢迎消息。 ```bash sudo docker run hello-world ``` 若一切顺利,终端应显示一段介绍性的文字说明以及如何获取更多帮助的信息;反之则可能提示错误信息。 #### 排查常见问题及其解决方案 - **权限不足** 如果收到类似“Got permission denied while trying to connect to the Docker daemon socket”的报错通知,这通常意味着当前用户缺少必要的访问权限去调用Docker API接口。按照官方文档中的指引完成Linux Post-install配置步骤即可解决问题。 - **防火墙阻止连接** 对于某些安全策略较为严格的环境来说,默认开启的状态下的iptables规则可能会阻碍外部请求到达本地监听端口。此时应当检查现有规则集是否存在冲突之处,适当调整以便允许合法流量进入。 - **SELinux强制模式影响** SELinux处于enforcing状态下会对文件系统施加额外的安全约束条件,从而干扰到部分程序的功能实现。对于这类情况,临时切换至permissive模式或许能起到立竿见影的效果: ```bash sudo setenforce 0 ``` 或者永久更改为Permissive Mode,在/etc/selinux/config 文件里设置 `SELINUX=permissive`[^3]。 #### 进一步诊断方法 当上述措施均未能有效排除故障之后,还可以考虑收集更多的日志记录用于深入分析根本原因所在。比如利用journalctl工具查询最近一段时间内发生的事件详情: ```bash sudo journalctl -u docker.service ``` 此外也可以借助docker自带的日志功能定位具体哪个环节出现了异常状况: ```bash sudo docker logs <container_id> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值