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已经安装完成了。
下一步就可以部署项目了。