摘要:出于安全考虑,一般系统上不会直接使用用户。因此,更好地做法是将需要使用的用户加入用户组。建立组将当前用户加入组退出当前终端并重新登录,进行如下测试。无需使用管理员权限测试运行运行列出镜像仓库名标签镜像创建时间占用空间
CentOS 7 安装 Docker CE 1. docker安装步骤(基于yum方式)
1.1 查看当前linux内核版本
uname -r #linux内核要求3.10及以上
1.2 更行yum源
sudo yum update
1.3 如果安装过旧版本的话,卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine
1.4 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.5 由于国内网络问题,建议使用国内源,添加yum软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云镜像源
已加载插件:fastestmirror, langpacks adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo
1.6 可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
1.7 安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 $ sudo yum install# 例如:sudo yum install docker-ce-17.12.1.ce
已安装: docker-ce.x86_64 0:17.12.1.ce-1.el7.centos 作为依赖被安装: audit-libs-python.x86_64 0:2.8.1-3.el7 checkpolicy.x86_64 0:2.5-6.el7 container-selinux.noarch 2:2.66-1.el7 libsemanage-python.x86_64 0:2.5-11.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3 policycoreutils-python.x86_64 0:2.5-22.el7 python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3.3.8-2.el7 完毕!
1.8 将docker加入开机启动
$ sudo systemctl start docker $ sudo systemctl enable docker
1.9 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ sudo docker version
Client: Version: 17.12.1-ce API version: 1.35 Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:15:20 2018 OS/Arch: linux/amd64 Server: Engine: Version: 17.12.1-ce API version: 1.35 (minimum version 1.12) Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:17:54 2018 OS/Arch: linux/amd64 Experimental: false2. 建立docker用户组
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
2.1 建立docker组
$ sudo groupadd docker
2.2 将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
2.3 退出当前终端并重新登录,进行如下测试。
$ docker version #无需sudo使用管理员权限
Client: Version: 17.12.1-ce API version: 1.35 Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:15:20 2018 OS/Arch: linux/amd64 Server: Engine: Version: 17.12.1-ce API version: 1.35 (minimum version 1.12) Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:17:54 2018 OS/Arch: linux/amd64 Experimental: false3. 测试docker运行
$ docker run hello-world #运行hello world
Unable to find image "hello-world:latest" locally latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc 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/engine/userguide/
$ docker image ls #列出镜像
仓库名 标签 镜像ID 创建时间 占用空间 REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 2cb0d9787c4d 2 weeks ago 1.85kB
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27397.html
摘要:系统有两个程序服务端和客户端。其中服务端是一个服务进程,管理着所有的容器。客户端则扮演着服务端的远程控制器,可以用来控制的服务端进程。守护进程会处理复杂繁重的任务,例如建立运行发布你的容器。客户端和守护进程之间通过或者进行通信。 预期学习目标 Docker基本概念 配置本地Docker环境 容器的生命周期与配置 端口映射和容器链接 利用volume保存持久化容器数据 检查容器日志 监...
摘要:概述是一个用来定义和运行复杂应用的工具。使用,用户通过来进行构建。使用,不再需要使用脚本来启动容器。在配置文件中,所有的容器通过来定义,然后通过脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器。 概述 Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成...
摘要:概述是一个用来定义和运行复杂应用的工具。使用,用户通过来进行构建。使用,不再需要使用脚本来启动容器。在配置文件中,所有的容器通过来定义,然后通过脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器。 概述 Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成...
摘要:二个部分客户端和服务器服务器运行在后台,实际干活的程序也有人把它叫做引擎。仓库就是一台服务器,可以上传和拉取镜像。容器是启动之后的镜像实体。安装使用或权限的用户登入终端。检查内核版本,内核版本要大于。 什么是 docker docker是加载镜像,把镜像变成容器再运行的管理程序。 二个部分 - 客户端和服务器 服务器运行在后台,实际干活的程序, 也有人把它叫做引擎。 客户端就是我们常用...
阅读 3651·2021-08-10 09:42
阅读 539·2019-08-30 15:55
阅读 838·2019-08-30 15:54
阅读 3031·2019-08-30 13:45
阅读 510·2019-08-29 16:23
阅读 1948·2019-08-29 16:23
阅读 949·2019-08-29 15:18
阅读 2228·2019-08-29 12:57