Linux安装Docker(亲测有效)
Linux安装Docker
今天项目需要部署到Docker上去,那么就亲自来部署一把Docker咯。
Docker有两个版本:
- 社区版(CE)
- 企业版(EE)
Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用的个人开发人员和小团队。
Docker企业版(EE)专为企业开发和IT团队而设计,他们可以在生产规模上构建,发布和运行关键业务应用程序。
一、比较以下Docker的社区版和企业版的区别
我们今天就只用社区版的咯
二、Docker的安装
请先访问Docker的官网获取相关的安装信息
docker官网
三、下面以Ubuntu系统为例,准备机器卸载旧Docker
3.1 系统要求
为了安装Docker,你需要以下的系统配置。
- Artful 17.10 (Docker CE 17.11 Edge and higher only)
- Xenial 16.04 (LTS)
- Trusty 14.04 (LTS)
- Docker CE is supported on Ubuntu on x86_64, armhf, s390x (IBM Z), and ppc64le (IBM Power) architectures.
- ppc64le and s390x limitations: Packages for IBM Z and Power architectures are only available on Ubuntu Xenial and above.
3.2 准备一台Ubuntu机器
root@iZbp162mb58mqtz72o389nZ:~# lsb_release -a LSB Version: core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial root@iZbp162mb58mqtz72o389nZ:~#
3.3 卸载旧的或者已经安装Docker版本
- 旧的doceker或者已经安装过的一般叫docker或者docker-engine。
卸载它们。
出现下面这样说明,已经卸载完了,系统里面没有了
root@iZbp162mb58mqtz72o389nZ:~# apt-get remove docker docker-engine docker.io Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package docker E: Unable to locate package docker-engine E: Unable to locate package docker.io E: Couldn't find any package by glob 'docker.io' E: Couldn't find any package by regex 'docker.io' root@iZbp162mb58mqtz72o389nZ:~#
四、正式安装Docker
4.1 你可以根据你的需要,去选择不同的方式安装Docker
- 大多数用户 设置Docker的存储库并从中进行安装,以便安装和升级任务。这是推荐的方法。
- 有些用户下载DEB软件包并 手动安装,并完全手动管理升级。这对于在无法访问互联网的空隙系统上安装Docker等情况很有用。
- 在测试和开发环境中,一些用户选择使用自动 便利脚本来安装Docker。
4.2 使用Docker的存储库进行安装
- 首次在新主机上安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
- 设置存储库
- 1.更新apt包资源索引
root@iZbp162mb58mqtz72o389nZ:~# apt-get update Get:1 http://mirrors.cloud.aliyuncs.com/ubuntu xenial InRelease [247 kB] Get:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-updates InRelease [109 kB] Get:3 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security InRelease [1
- 2.安装软件包以允许apt通过HTTPS使用存储库:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
- 3.添加Docker的官方密钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 在执行这个命令的时候,如果是阿里云上的主机可能会报一个错,无法解析主机名。iZbp162mb58mqtz72o389nZ:就是我这台机的主机名
root@iZbp162mb58mqtz72o389nZ:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo: unable to resolve host iZbp162mb58mqtz72o389nZ OK
- 那么就来编辑一下/etc/hosts,把主机名放在最后面
vi /etc/hosts
- 继续添加Docker的官方密钥
root@iZbp162mb58mqtz72o389nZ:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK root@iZbp162mb58mqtz72o389nZ:~#
- 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后8个字符,确认您现在拥有带指纹的密钥 。
root@iZbp162mb58mqtz72o389nZ:~# sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22 root@iZbp162mb58mqtz72o389nZ:~#
- 4 3.使用以下命令设置稳定版本库。您始终需要稳定的存储库,即使您也想安装Edge版本。
注意:以下lsb_release -cs子命令返回您的Ubuntu发行版的名称,例如xenial
root@iZbp162mb58mqtz72o389nZ:~# lsb_release -cs xenial root@iZbp162mb58mqtz72o389nZ:~#
- 查看本机的系统架构
root@iZbp162mb58mqtz72o389nZ:~# dpkg --print-architecture amd64 root@iZbp162mb58mqtz72o389nZ:~#
- amd64
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
- armhf:
sudo add-apt-repository \ "deb [arch=armhf] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
- xenial
sudo add-apt-repository \ "deb [arch=xenial] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
有时,在像Linux Mint这样的发行版中,您可能需要更改 $(lsb_release -cs)为您的父级Ubuntu发行版。例如:如果您正在使用Linux Mint Rafaela,可以使用 trusty。
4.3 正式安装
- 更新apt软件包索引。
sudo apt-get update
- 安装最新版本的Docker CE,或者转到下一步安装特定版本:
sudo apt-get install docker-ce
- 注意:
有多个Docker存储库?
如果启用了多个Docker存储库,则安装或更新时未指定版本apt-get install或 apt-get update命令始终会安装尽可能高的版本,这可能不适合您的稳定性需求 - 要安装特定版本的Docker CE,请列出回购站中的可用版本,然后选择并安装:
一个。列出您的回购中可用的版本:
apt-cache madison docker-ce docker-ce | 18.03.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
- 例如,通过其完全限定的软件包名称来安装特定的版本,该名称是软件包名称(docker-ce)加上版本字符串(第2列),直到第一个连字符,用等号(=) 分隔docker-ce=18.03.0.ce。
Docker守护进程自动启动
sudo apt-get install docker-ce=<VERSION>
4.4 检查一下Docker CE是否安装成功了
- 通过运行hello-world 映像验证是否正确安装了Docker CE 。
该命令下载测试图像并将其运行到容器中。当容器运行时,它会打印一条信息消息并退出。
sudo docker run hello-world
正在运行的Docker如下图
root@iZbp162mb58mqtz72o389nZ:~# sudo docker run hello-world 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/ root@iZbp162mb58mqtz72o389nZ:~#
好啦,结束啦,现在Docker已经安装完成了。
下一步就可以部署项目了。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
专家解惑丨带你从系统管理员角度深入了解 Docker
本文首发自“Docker公司”公众号(ID:docker-cn)编译丨小东每周一、三、五 与您不见不散! 此前,我做了一场题为“从系统管理员角度看 Docker”的分享,缘起于我们经常可以看到这样的场景:一位系统管理员正坐在他的办公桌处理自己手上的事情,此时一名开发人员走进来说:“这是新的应用,它在 Docker 镜像中。请尽快部署。”此次分享意在给系统管理员提供一些帮助,指导他们如何考虑在生产环境中管理容器化的应用。 由于时间关系,我可能无法逐一回答所有提问。以下只列出一些常见的问题及解答: 问:我正在计划部署一个应用,并希望使用 Docker。您目前推荐使用什么云服务?我可以选择 GCP,Azure,AWS。1) 总体成本 2) 性能如何? 答:如果要准确回答这个问题,需要相当深入地了解您的应用。所以,我可能无法提供一个非常具体的回答。我想说,如果您今天选择一个云服务提供商,并意识到将来可能会发生改变,那么 Docker 将使其变得非常容易,因为容器化的负载可以在不同的云服务提供商之间轻松地移动。因此,先明确您的技术和业务出发点,据此选择最好的供应商。如果日后需要调整,则可以从容应...
- 下一篇
网络模型 - 每天5分钟玩转 Docker 容器技术(169)
本节我们讨论 Kubernetes 网络这个重要主题。 Kubernetes 作为编排引擎管理着分布在不同节点上的容器和 Pod。Pod、Service、外部组件之间需要一种可靠的方式找到彼此并进行通信,Kubernetes 网络则负责提供这个保障。本章包括如下内容: Kubernetes 网络模型 各种网络方案 Network Policy Kubernetes 网络模型 Kubernetes 采用的是基于扁平地址空间的网络模型,集群中的每个 Pod 都有自己的 IP 地址,Pod 之间不需要配置 NAT 就能直接通信。另外,同一个 Pod 中的容器共享 Pod 的 IP,能够通过localhost通信。 这种网络模型对应用开发者和管理员相当友好,应用可以非常方便地从传统网络迁移到 Kubernetes。每个 Pod 可被看作是一个个独立的系统,而 Pod 中的容器则可被看做同一系统中的不同进程。 下面讨论在这个网络模型下集群中的各种实体如何通信。知识点前面都已经涉及,这里可当做复习和总结。 Pod 内容器之间的通信 当 Pod 被调度到某个节点,Pod 中的所有容器都在这个节点上运...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- Mario游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题