虽然Docker官方推荐将docker运行在Ubuntu系统上,但是因为在生产环境中大部分用的还是CentOS(或者Redhat),所以这里也仅记录在CentOS上安装Docker的方法。

Docker安装

方法一:Yum安装

1、更新yum包

# yum update

2、安装必要依赖包

# yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加docker社区版yum源

# wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

4、使用yum安装docker

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

注:以上命令为安装最新版(latest),如果要安装老版本,可以使用如下命令:

# yum list docker-ce --showduplicates | sort -r                                                                                   # 列出docker-ce的所有版本

# yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io     # 根据上一条命令的结果,选择对应的版本安装

方法二:使用安装脚本安装

1、更新yum包

# yum update

2、安装必要依赖包

# yum install -y yum-utils device-mapper-persistent-data lvm2

3、获取安装脚本

# curl -fsSL https://get.docker.com -o get-docker.sh

4、执行脚本安装

# sh get-docker.sh

注:如果要授权给非root用户使用docker,则需使用“sudo usermod -aG docker your-user”命令将非root用户添加至docker用户组中。

方法三:使用RPM包安装

1、更新yum包

# yum update

2、安装必要依赖包

# yum install -y yum-utils device-mapper-persistent-data lvm2

3、下载rpm包

# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/[package_name].rpm

4、安装rpm包

# yum install /path/to/[package_name].rpm

启动Docker服务:

[root@centos7 ~]# systemctl start docker

[root@centos7 ~]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

Docker版本:

[root@centos7 ~]# docker version

Client:

Version:         1.13.1

API version:     1.26

Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64

Go version:      go1.9.4

Git commit:      8633870/1.13.1

Built:           Fri Sep 28 19:45:08 2018

OS/Arch:         linux/amd64

Server:

Version:         1.13.1

API version:     1.26 (minimum version 1.12)

Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64

Go version:      go1.9.4

Git commit:      8633870/1.13.1

Built:           Fri Sep 28 19:45:08 2018

OS/Arch:         linux/amd64

Experimental:    false

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

查看docker信息:

[root@centos7 ~]# docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

Images: 0

Server Version: 1.13.1

Storage Driver: overlay2

Backing Filesystem: extfs

Supports d_type: true

Native Overlay Diff: true

Logging Driver: journald

Cgroup Driver: systemd

Plugins:

Volume: local

Network: bridge host macvlan null overlay

Swarm: inactive

Runtimes: docker-runc runc

Default Runtime: docker-runc

Init Binary: /usr/libexec/docker/docker-init-current

containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)

runc version: 5eda6f6fd0c2884c2c8e78a6e7119e8d0ecedb77 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)

init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)

Security Options:

seccomp

WARNING: You're not using the default seccomp profile

Profile: /etc/docker/seccomp.json

Kernel Version: 3.10.0-693.el7.x86_64

Operating System: CentOS Linux 7 (Core)

OSType: linux

Architecture: x86_64

Number of Docker Hooks: 3

CPUs: 2

Total Memory: 3.686 GiB

Name: centos7.contoso.com

ID: ANO7:53VI:M4ZH:G7KZ:JOZI:A7WC:YZSA:C6JK:5NSB:BCX5:6SMH:TU2S

Docker Root Dir: /var/lib/docker

Debug Mode (client): false

Debug Mode (server): false

Registry: https://index.docker.io/v1/

Experimental: false

Insecure Registries:

127.0.0.0/8

Live Restore Enabled: false

Registries: docker.io (secure)

查看Docker相关目录:

[root@centos7 ~]# rpm -ql docker

/etc/docker

/etc/docker/certs.d

/etc/docker/certs.d/redhat.com

/etc/docker/certs.d/redhat.com/redhat-ca.crt

/etc/docker/certs.d/redhat.io

/etc/docker/certs.d/redhat.io/redhat-ca.crt

/etc/docker/certs.d/registry.access.redhat.com

/etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt

/etc/docker/daemon.json

/etc/docker/seccomp.json

/etc/sysconfig/docker-network

/etc/sysconfig/docker-storage

/etc/sysconfig/docker-storage-setup

/usr/bin/docker-containerd-current

/usr/bin/docker-containerd-shim-current

/usr/bin/docker-ctr-current

/usr/bin/docker-storage-setup

/usr/bin/dockerd-current

/usr/lib/systemd/system/docker-cleanup.service

/usr/lib/systemd/system/docker-cleanup.timer

/usr/lib/systemd/system/docker-storage-setup.service

/usr/lib/systemd/system/docker.service

/usr/lib/udev/rules.d/80-docker.rules

/usr/libexec/docker

/usr/libexec/docker/docker-init-current

/usr/libexec/docker/docker-proxy-current

/usr/libexec/docker/docker-runc-current

/usr/share/bash-completion/completions/docker

/usr/share/doc/docker-1.13.1

/usr/share/doc/docker-1.13.1/AUTHORS

/usr/share/doc/docker-1.13.1/CHANGELOG.md

/usr/share/doc/docker-1.13.1/CONTRIBUTING.md

/usr/share/doc/docker-1.13.1/MAINTAINERS

/usr/share/doc/docker-1.13.1/NOTICE

/usr/share/doc/docker-1.13.1/README-vim-syntax.md

/usr/share/doc/docker-1.13.1/README.md

/usr/share/fish/vendor_completions.d

/usr/share/fish/vendor_completions.d/docker.fish

/usr/share/licenses/docker-1.13.1

/usr/share/licenses/docker-1.13.1/LICENSE

/usr/share/licenses/docker-1.13.1/LICENSE-vim-syntax

/usr/share/man/man1/docker-attach.1.gz

/usr/share/man/man1/docker-build.1.gz

/usr/share/man/man1/docker-commit.1.gz

/usr/share/man/man1/docker-cp.1.gz

/usr/share/man/man1/docker-create.1.gz

/usr/share/man/man1/docker-diff.1.gz

/usr/share/man/man1/docker-events.1.gz

/usr/share/man/man1/docker-exec.1.gz

/usr/share/man/man1/docker-export.1.gz

/usr/share/man/man1/docker-history.1.gz

/usr/share/man/man1/docker-images.1.gz

/usr/share/man/man1/docker-import.1.gz

/usr/share/man/man1/docker-info.1.gz

/usr/share/man/man1/docker-inspect.1.gz

/usr/share/man/man1/docker-kill.1.gz

/usr/share/man/man1/docker-load.1.gz

/usr/share/man/man1/docker-login.1.gz

/usr/share/man/man1/docker-logout.1.gz

/usr/share/man/man1/docker-logs.1.gz

/usr/share/man/man1/docker-network-connect.1.gz

/usr/share/man/man1/docker-network-create.1.gz

/usr/share/man/man1/docker-network-disconnect.1.gz

/usr/share/man/man1/docker-network-inspect.1.gz

/usr/share/man/man1/docker-network-ls.1.gz

/usr/share/man/man1/docker-network-rm.1.gz

/usr/share/man/man1/docker-pause.1.gz

/usr/share/man/man1/docker-port.1.gz

/usr/share/man/man1/docker-ps.1.gz

/usr/share/man/man1/docker-pull.1.gz

/usr/share/man/man1/docker-push.1.gz

/usr/share/man/man1/docker-rename.1.gz

/usr/share/man/man1/docker-restart.1.gz

/usr/share/man/man1/docker-rm.1.gz

/usr/share/man/man1/docker-rmi.1.gz

/usr/share/man/man1/docker-run.1.gz

/usr/share/man/man1/docker-save.1.gz

/usr/share/man/man1/docker-search.1.gz

/usr/share/man/man1/docker-start.1.gz

/usr/share/man/man1/docker-stats.1.gz

/usr/share/man/man1/docker-stop.1.gz

/usr/share/man/man1/docker-storage-setup.1.gz

/usr/share/man/man1/docker-tag.1.gz

/usr/share/man/man1/docker-top.1.gz

/usr/share/man/man1/docker-unpause.1.gz

/usr/share/man/man1/docker-update.1.gz

/usr/share/man/man1/docker-version.1.gz

/usr/share/man/man1/docker-wait.1.gz

/usr/share/man/man1/docker.1.gz

/usr/share/man/man5/Dockerfile.5.gz

/usr/share/man/man5/docker-config-json.5.gz

/usr/share/man/man8/dockerd.8.gz

/usr/share/vim/vimfiles/doc

/usr/share/vim/vimfiles/doc/dockerfile.txt

/usr/share/vim/vimfiles/ftdetect

/usr/share/vim/vimfiles/ftdetect/dockerfile.vim

/usr/share/vim/vimfiles/syntax

/usr/share/vim/vimfiles/syntax/dockerfile.vim

/usr/share/zsh/site-functions

/usr/share/zsh/site-functions/_docker

/var/lib/docker

其中,部分目录如下:

/etc/docker:Docker后台服务进程相关配置主目录,包含certs.d目录和json文件

/etc/docker/certs.d:Docker证书目录,在搭建docker私有仓库时会用到

/etc/sysconfig/docker-network:指定Docker服务的网络配置选项的文件

/etc/sysconfig/docker-storage:指定Docker服务的存储配置选项的文件

/etc/sysconfig/docker-storage-setup:指定Docker后端存储配置选项的文件

/usr/share/doc/docker-1.13.1:存放Docker相关文档的目录

/var/lib/docker:Docker容器和镜像的存放目录

Docker卸载:

1、停止Docker服务

# systemctl stop docker

# systemctl disable docker

2、卸载docker-ce安装包

# yum remove docker-ce -y

3、清理docker目录

# /var/lib/docker

运行第一个Docker:

# docker run hello-world

转载于:https://blog.51cto.com/jerry12356/2348916

Docker系列(二):Docker安装相关推荐

  1. Docker系列 二. Docker 安装 Nginx

    Docker 安装 Nginx Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 . 1.查看可用的 Nginx 版本 访问 Ngin ...

  2. Docker系列二~自定义网桥

    Docker系列二 docker自定义网桥 查看本地网络 docker network ls #查看本地所有网络[root@localhost conf.d]# docker network ls N ...

  3. Docker系列 四.Docker部署SpringBoot

    四.Docker部署SpringBoot 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以).IDEA 1. 创建springboot项目 这 ...

  4. Docker系列(二): 搭建docker镜像仓库-Nexus、Harbor

    Docker介绍及环境搭建参考: Docker系列一: docker介绍&&安装(含离线安装) Docker系列(二): 搭建docker镜像仓库-Nexus.Harbor Docke ...

  5. Docker系列 七. Docker 安装Jenkins

    Docker系列 七. Docker 安装Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集 ...

  6. Docker教程(二) Docker环境安装

    Docker教程(二) Docker环境安装 本文链接:https://blog.csdn.net/yuan_xw/article/details/77248243 Docker教程(二) Docke ...

  7. Docker系列五~docker安装php-fpm

    Docker系列五 docker安装php-fpm 访问PHP镜像库地址: https://hub.docker.com/_/php?tab=tags 选择合适的版本 php-fpm镜像主要是提供ph ...

  8. Docker系列四~docker安装mysql

    Docker系列四 docker安装mysql 搜索mysql版本 [root@localhost conf.d]# docker search mysql INDEX NAME DESCRIPTIO ...

  9. Docker系列三~docker安装nginx

    Docker系列三 docker安装nginx 搜索nginx版本 docker search nginx 拉取nginx最新版本镜像 docker pull nginx:latest 查看本地镜像 ...

  10. Docker系列一 ~docker的安装

    Docker系列一 docker安装 依照centos为例,Docker 官方建议要 CentOS7.0 及以上系统版本,在运行CentOS 6.5及以后版本时,需要内核版本>=2.6.32-4 ...

最新文章

  1. 【NCEPU】凌亮:Linux实践
  2. python3语法-python3 标签语法有什么用?
  3. numpy基础——对数组切片操作
  4. 第三部分:Android 应用程序接口指南---第二节:UI---第八章 Toast通知
  5. Eclipse-cvs指南
  6. 《Java从入门到放弃》JavaSE入门篇:文件操作
  7. 中boxplot函数的参数设置_如何在Python中生成图形和图表
  8. 1002 写出这个数 (20分)
  9. 阅文推“单本可选新合同”:授权分级、免费或付费自选
  10. ati catalyst linux 视频解码,如何为ATI/APU用户编译编译安装XBMC,硬解播放视频
  11. Azure PowerShell (10) 使用PowerShell导出订阅下所有的Azure VM和Cloud Service的高可用情况...
  12. 简单python脚本实例-30个Python 小例子,帮你快速上手Python
  13. python求解next数组实现KMP算法
  14. SqlServer 数据库可疑修复
  15. 红蓝对抗之win10 权限提升
  16. c语言立体爱心会跳动,c语言编程实例——小球跳动
  17. Win10专业版永久激活
  18. PAT备考经验相关信息
  19. 目标检测之单阶段和两阶段检测算法的对比
  20. 鼠标抖动问题(macbook下安装的win7系统)

热门文章

  1. C++之指针探究(十):this指针
  2. shrio反序列漏洞修复_Apache Shiro Java 反序列化漏洞分析
  3. linux 导出 excel文件名乱码,excel导出,文件名称中文乱码问题 · 大腿的博客
  4. java 8进制 前是 零,从零学java笔录-第6篇 进制之间转换
  5. 将文件复制到ftp发生错误 请检查是否有权限_SE文件管理器2.8.6解锁完整功能版...
  6. python集合全排列_python——全排列数的生成方式
  7. github使用指南_所有开源项目免费使用,GitHub 内置 CI/CD 终于来了
  8. python的魔法方法
  9. VS使用scanf函数报错解决方法
  10. 周期三角波频谱图_雷达物位计厂家告诉你,什么是调频连续波雷达物位计