暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

01-docker系列-linux下的docker安装

运维家 2023-10-09
172

主旨

从今天开始,将持续半个月,主要更新docker相关内容,从入门到上手使用。后面还有什么想要看的都可以后台留言哦。快来关注我吧。

环境
    linux服务器,需要关闭selinux和防火墙,以往文章有介绍具体方式
    能上外网

    检查
      [yunweijia@localhost ~]$ uname -r
      3.10.0-862.el7.x86_64
      [yunweijia@localhost ~]$
      大于3.10的就可以安装docker。

      移除旧版本

      移除系统上的一些相关内容,不然安装起来容易遇到一些问题。

        [yunweijia@localhost ~]$ sudo yum remove docker \
        > docker-client \
        > docker-client-latest \
        > docker-common \
        > docker-latest \
        > docker-latest-logrotate \
        > docker-logrotate \
        > docker-selinux \
        > docker-engine-selinux \
        > docker-engine
        [sudo] yunweijia 的密码:
        已加载插件:fastestmirror, langpacks
        参数 docker 没有匹配
        参数 docker-client 没有匹配
        参数 docker-client-latest 没有匹配
        参数 docker-common 没有匹配
        参数 docker-latest 没有匹配
        参数 docker-latest-logrotate 没有匹配
        参数 docker-logrotate 没有匹配
        参数 docker-selinux 没有匹配
        参数 docker-engine-selinux 没有匹配
        参数 docker-engine 没有匹配
        不删除任何软件包
        [yunweijia@localhost ~]$

        安装docker

        安装必要的工具:

          [yunweijia@localhost ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

          添加软件源信息:

            [yunweijia@localhost ~]$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

                更新软件源信息:
              [yunweijia@localhost ~]$ yum clean all
              [yunweijia@localhost ~]$ yum makecache fast

              安装docker-ce(docker-ce版本是社区版本,免费,docker-ee是企业版本,收费):

                [yunweijia@localhost ~]$ sudo yum -y install docker-ce

                解决报错:

                  如果报错如下信息:
                  错误:软件包:containerd.io-1.4.12-3.1.el7.x86_64 (docker-ce-stable)
                  需要:container-selinux >= 2:2.74
                  错误:软件包:docker-ce-rootless-extras-20.10.12-3.el7.x86_64 (docker-ce-stable)
                  需要:slirp4netns >= 0.4
                  错误:软件包:docker-ce-rootless-extras-20.10.12-3.el7.x86_64 (docker-ce-stable)
                  需要:fuse-overlayfs >= 0.7
                  错误:软件包:3:docker-ce-20.10.12-3.el7.x86_64 (docker-ce-stable)
                            需要:container-selinux >= 2:2.74


                  解决:
                  我们需要升级一下相关软件,下载container-selinux;


                  [yunweijia@localhost ~]$ sudo wget -O etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
                  [yunweijia@localhost ~]$ yum clean all
                  [yunweijia@localhost ~]$ yum makecache fast
                  [yunweijia@localhost ~]$ sudo yum install epel-release -y
                  [yunweijia@localhost ~]$ sudo yum install container-selinux -


                  而后再次进行安装docker-ce:

                    [yunweijia@localhost ~]$ sudo yum -y install docker-ce

                    启动docker服务:

                      [yunweijia@localhost ~]$ sudo systemctl start docker
                      [yunweijia@localhost ~]$ sudo systemctl status docker
                      ● docker.service - Docker Application Container Engine
                      Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
                      Active: active (running) since 二 2022-02-08 15:37:14 CST; 7s ago
                      Docs: https://docs.docker.com
                      Main PID: 5688 (dockerd)
                      Tasks: 7
                      Memory: 30.0M
                      CGroup: system.slice/docker.service
                      └─5688 usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.371959365+08:00" level=info msg="scheme \"unix\" not registered, fallback to def...dule=grpc
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.371974573+08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{uni...dule=grpc
                      208 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.371981256+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"...dule=grpc
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.404169481+08:00" level=info msg="Loading containers: start."
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.496148517+08:00" level=info msg="Default bridge (docker0) is assigned with an IP... address"
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.545353512+08:00" level=info msg="Loading containers: done."
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.559734496+08:00" level=info msg="Docker daemon" commit=459d0df graphdriver(s)=ov...=20.10.12
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.560072640+08:00" level=info msg="Daemon has completed initialization"
                      2月 08 15:37:14 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
                      2月 08 15:37:14 localhost.localdomain dockerd[5688]: time="2022-02-08T15:37:14.588758976+08:00" level=info msg="API listen on var/run/docker.sock"
                      Hint: Some lines were ellipsized, use -l to show in full.
                      [yunweijia@localhost ~]$


                      测试运行hello-word:

                        [yunweijia@localhost ~]$ sudo docker run hello-world
                        Unable to find image 'hello-world:latest' locally
                        latest: Pulling from library/hello-world
                        2db29710123e: Pull complete
                        Digest: sha256:507ecde44b8eb741278274653120c2bf793b174c06ff4eaa672b713b3263477b
                        Status: Downloaded newer image for hello-world:latest


                        Hello from Docker!
                        This message shows that your installation appears to be working correctly.


                        To generate this message, Docker took the following steps:
                        1. The Docker client contacted the Docker daemon.
                        2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
                        (amd64)
                        3. The Docker daemon created a new container from that image which runs the
                        executable that produces the output you are currently reading.
                        4. The Docker daemon streamed that output to the Docker client, which sent it
                        to your terminal.


                        To try something more ambitious, you can run an Ubuntu container with:
                        $ docker run -it ubuntu bash


                        Share images, automate workflows, and more with a free Docker ID:
                        https://hub.docker.com/


                        For more examples and ideas, visit:
                        https://docs.docker.com/get-started/


                        [yunweijia@localhost ~]$

                        至此,linux中搭建docker完毕。
                        下一章:镜像分类以及操作(导入、导出、删除)

                        如果觉得文本内容对你有所帮助,请关注并分享我的公众号【运维家】。

                        文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论