一、安装Docker CE
卸载旧版本
较旧版本的Docker
被称为docker
或docker-engine
。如果已安装这些,需要卸载以及相关的依赖项。
$ 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
安装Docker CE
您可以根据需要以不同方式安装Docker CE:
- 大多数用户设置Docker的仓库并从中进行安装,以便于安装和升级任务。这是推荐的方法。
- 有些用户下载RPM软件包并手动安装并完全手动管理升级。这在没有访问互联网的系统上安装Docker的情况下非常有用。
- 在测试和开发环境中,一些用户选择使用自动便捷脚本来安装Docker。
使用仓库安装
在新主机上首次安装Docker CE
之前,需要设置Docker
仓库。之后,您可以从仓库安装和更新Docker
。
设置存储库
安装所需的包。
yum-utils
提供yum-config-manager
实用程序,devicemapper
存储驱动程序需要device-mapper-persistent-data
和lvm2
。$ 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
可选:启用
edge
和test
存储库。这些存储库包含在上面的docker.repo
文件中,但默认情况下处于禁用状态。您可以将它们与稳定存储库一起启用。$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
通过使用
--disable
标志运行yum-config-manager
命令来禁用edge
或test
仓库。要重新启用,使用--enable
标志。以下命令禁用edge
仓库。$ sudo yum-config-manager --disable docker-ce-edge
注意:从Docker 17.06开始,稳定版本也会被推送到边缘并测试存储库。
安装DOCKER CE
安装最新版本
安装最新版本的
Docker CE
,或转到下一步安装特定版本:$ sudo yum install docker-ce
如果提示接受GPG密钥,请确认指纹符合
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果符合,则接受该指纹。运行以上命令安装后,
Docker
已安装但尚未启动。并已创建docker
组,但未向该组添加任何用户。安装特定版本
要安装特定版本的
Docker CE
,可列出repo
中的可用版本,然后选择并安装$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
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
返回的列表取决于启用的仓库,并且特定于您的
CentOS
版本(在此示例中以.el7
后缀表示CentOS7
)。通过其完全限定的包名称安装特定版本
包名称(docker-ce)加上版本字符串(第2列),中间用连字符( - )分隔,
例如,
docker-ce-18.06.1.ce
$ sudo yum install docker-ce-18.06.1.ce
运行以上命令安装后,
Docker
已安装但尚未启动。并已创建docker
组,但未向该组添加任何用户。
启动测试Docker
启动
Docker
$ sudo systemctl start docker
通过运行
hello-world
映像验证是否正确安装了docker。$ sudo docker run hello-world
此命令下载
hello-world
镜像并在容器中运行它。当容器运行时,它会打印消息并退出。如果网络下载失败,可能需要配置国内加速器,或者需要使用代理连接,可以通过下面的Linux安装后配置进行配置
升级DOCKER CE
要升级Docker CE,选择特定版本安装新版本或选择安装最新版本。
使用包安装
如果您无法使用Docker
存储库来安装Docker
,可以下载适用于您的发行版的.rpm
文件并手动安装。每次要升级Docker
时都需要下载新文件。
安装Docker CE
CentOS
转到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/并下载要安装的
Docker
版本的.rpm
文件。注意:要安装
edge
或test
包,请将上述URL中的单词stable
更改为edge
或test
。安装
Docker CE
,将下面的路径更改为Docker
软件包的路径。如
Docker
的``docker.rpm`包在用户主目录下$ sudo yum install ~/docker.rpm
Docker
已安装但尚未启动。已创建docker
组,但未向该组添加任何用户。
升级DOCKER CE
要升级Docker CE
,请下载较新的软件包文件并重复安装过程,使用yum -y upgrade
,而不是yum -y install
,并指向新软件包。
卸载 Docker CE
卸载Docker包:
$ sudo yum remove docker-ce
主机上的图像,容器,卷或自定义配置文件不会自动删除。
要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker
二、Docker安装后配置
HTTP/HTTPS代理
如果您使用HTTP
或HTTPS
代理服务器,例如在公司设置中,您需要在Docker systemd service
文件中添加此配置。
为Docker服务创建一个 systemd多级目录:
$ sudo mkdir -p /etc/systemd/system/docker.service.d
创建一个名为
/etc/systemd/system/docker.service.d/http-proxy.conf
的文件。添加HTTP_PROXY
环境变量:[Service]
Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/"
或者,如果您在HTTPS代理服务器后面,创建一个名为
/etc/systemd/system/docker.service.d/https-proxy.conf
的文件,添加HTTPS_PROXY环境变量:[Service]
Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/"
如果您有自己的私有Docker仓库,而无需代理,您可以通过
NO_PROXY
环境变量指定它们:[Service]
Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
或者, 如果您在 HTTPS 代理服务器后面添加:
[Service]
Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
刷新更改:
$ sudo systemctl daemon-reload
重启Docker:
$ sudo systemctl restart docker
验证配置已经加载:
$ systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://username:password@0.0.0.1:80/
或者:
$ systemctl show --property=Environment docker
Environment=HTTPS_PROXY=https://username:password@0.0.0.1:80/
以非root身份管理Docker
Docker daemon
绑定到Unix socket
而不是TCP
端口。默认情况下,Unix socket
由用户root
拥有,而其他用户只能使用sudo
访问它。 Docker daemon
始终以root
用户身份运行。
如果您不想在docker
命令前加上sudo
,可以创建一个名为docker
的Unix
组并向其添加用户。当Docke
启动时,它会创建一个可由docker
组成员访问的Unix socket
。
警告
docker组授予与root用户等效的权限。
有关这将如何影响系统安全性的详细信息,请参阅Docker Daemon Attack Surface。
要创建docker组并添加您的用户:
创建docker组
$ sudo groupadd docker
将您的用户添加到docker组
$ sudo usermod -aG docker $USER
注销并重新登录,以便您的组成员身份生效。
验证您是否可以在没有
sudo
的情况下运行docker
命令.$ docker run hello-world
如果容器运行,它会打印消息并退出,说明设置生效
如果在将用户添加到
docker
组之前最初使用sudo
运行Docker CLI
命令,则可能会看到以下错误,这表示由于sudo
命令而创建的〜/.docker/
目录的权限不正确。WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
要解决此问题,请删除
〜/.docker/
目录(它会自动重新创建,但任何自定义设置都将丢失),或使用以下命令更改其所有权和权限:$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
镜像加速
由于Docker Hub
的服务器在国外,镜像的下载速度比较慢,可以使用国内提供的免费镜像服务,国内免费镜像服务有阿里云和DaoCloud等有提供:
阿里云
- 注册登录后,进入控制台,在产品与服务中搜索容器镜像服务进入,在镜像加速器有阿里云提供给个人的加速器地址
- 按照操作文档选择对应的服务器类型操作,
DaoCloud
注册登录后,点击加速器图标
进入页面后,复制内容到Shell终端运行
随系统启动而启动
systemd
开启随系统启动
$ sudo systemctl enable docker
关闭随系统启动,改用disable。
$ sudo systemctl disable docker
查看状态
$ sudo systemctl is-enabled docker
一、安装Docker CE的更多相关文章
- 在Ubuntu14.04下安装Docker CE(1) - repository篇
从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...
- Ubuntu 安装 Docker CE(社区版)
参考自 https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html#ubuntu-1604- docker-io 是以前早期的版本,版本 ...
- 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程
由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...
- Centos7安装Docker CE
每次安装Docker都要去找文档,或者每次安装的都不一样,还是要好好管理自己的这些东西,下次用的时候可以省很多的时间 Docker的早期版本称为docker或docker-engine:现在的 ...
- ubuntu16.04 在线安装docker ce
官方文档:https://docs.docker.com/install/linux/docker-ce/ubuntu/ ubuntu创建普通用户: adduser dk001 给该用户添加sud ...
- Ubuntu18.04上安装Docker CE
建立 REPOSITORY 1.更新索引包 更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的地址,这样才能获取到最新的软件包 sudo ...
- Ubuntu 安装 Docker CE
注:本文转载自<Docker入门> 警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 准备工作 系统要求 Docker CE 支持以下版本的 ...
- centos7 下安装Docker CE
前提条件 操作系统要求 要保证centos-extrasrepository开启(enabled).默认处于开启状态. 推荐使用overlay2存储驱动 卸载老版本 $ sudo yum remove ...
- CentOS_mini下安装docker 之 安装docker CE
警告:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker. 原文地址:https://yeasy.gitbooks.io/docker_practice/inst ...
- CentOS安装Docker CE
安装Docker CE(免费版) docker EE企业版您可以根据需要以不同方式安装Docker CE: 大多数用户 设置Docker的存储库并从中进行安装,以便于安装和升级任务.这是推荐的方法. ...
随机推荐
- Centos7 死循环登录问题
问题:用户名和密码输入正确,登录后屏幕闪一下又回到初始的登录界面.不知道具体什么原因引起的,先记录下不知道是否正确的解决方案,网上找了些相关的方案有的也实现不了,可能这个问题跟装的虚拟机的版本也有关系 ...
- 刷题46. Permutations
一.题目说明 题目是46. Permutations,给一组各不相同的数,求其所有的排列组合.难度是Medium 二.我的解答 这个题目,前面遇到过类似的.回溯法(树的深度优先算法),或者根据如下求解 ...
- java课程之团队开发冲刺阶段1.8
一.总结昨天进度 1.实现预装sqlite数据库,将数据库放在app的assets目录下,该目录在打包的时候不会压缩,所以数据库文件可以在安装之后继续使用,然后APP安装之后检测外部存储空间是否有这个 ...
- UML-用例关联
1.用例关联:就是各个用例之间的关系,分3种关系分别是:包含关系.扩展关系.泛化关系. 2.包含关系 1).示例 2).使用场景 A.用例在其他用例中重复使用 B.用例非常复杂冗长,将其分解为子单元便 ...
- Vue 集成环信 全局封装环信WebSDK 可直接使用
2019-11-25更新 npm install --save easemob-websdk请直接使用官方安装方式即可.import WebIM from 'easemob-websdk' 以下是最开 ...
- Linux系统提示无法获得锁
这种情况出现主要是因为软件更新或者安装时出现错误. 删除掉两个临时文件即可 sudo rm /var/lib/dpkg/lock sudo rm /var/cache/apt/archive/lock ...
- 《Docekr入门学习篇》——Docker网络及数据卷
Docker网络设置 默认情况下docker会创建一个桥接网卡[docker 0],docker有两种映射方式,一种是随机映射,一种是指定映射. 提示:生产场景一般不使用随机映射,但是随机映射的好处是 ...
- 编程作业2.2:Regularized Logistic regression
题目 在本部分的练习中,您将使用正则化的Logistic回归模型来预测一个制造工厂的微芯片是否通过质量保证(QA),在QA过程中,每个芯片都会经过各种测试来保证它可以正常运行.假设你是这个工厂的产品经 ...
- 基于Guava实现的文件复制
需求:现需要将文件D:\A\B\C\abc.txt进行一下操作 1.在文件夹D:\A\B\C下,没有以abc命名的文件夹则创建 2.将目标文件D:\A\B\C\abc.txt复制到abc下 实现代码: ...
- 三、VIP课程:并发编程专题->01-并发编程之Executor线程池详解
01-并发编程之Executor线程池详解 线程:什么是线程&多线程 线程:线程是进程的一个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系 ...