环境选择
容器需要管理工具、runtime 和操作系统,我们的选择如下:
1、管理工具 - Docker Engine
因为 Docker 最流行使用最广泛。
2、runtime - runc
Docker 的默认 runtime
3、操作系统 - Ubuntu
虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前处于初学阶段,选择大家熟悉的操作系统更为合适。等具备了扎实的容器基础知识后再使用容器 OS 会更有利。
安装 Docker
Docker 支持几乎所有的 Linux 发行版,也支持 Mac 和 Windows。各操作系统的安装方法可以访问:https://docs.docker.com/engine/installation/
本节将在ubuntu18.04虚拟机中安装Docker,因为安装过程需要访问 internet, 所以虚拟机必须能够上网。
Docker 分为开源免费的 CE(Community Edition)版本和收费的 EE(Enterprise Edition)版本。下面我们将按照文档,通过以下步骤在 Ubuntu 18.04 上安装 Docker CE 版本。
配置 Docker 的 apt 源
ubuntu18.04配置网络
vim /etc/netplan/50-cloud-init.yaml
修改dns
vim /etc/systemd/resolved.conf
1、安装包,允许 apt
命令 HTTPS 访问 Docker 源。
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2、添加 Docker 官方的 GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
apt-key fingerprint 0EBFCD88
3. 将 Docker 的源添加到 /etc/apt/sources.list
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker
更新软件列表
apt-get update
更新软件
atp-get upgrade
生产环境安装docker要指定版本安装,不要安装最新版本。首先运行下行的命令,找到和ubuntu当前版本对应的docker版本。
apt-get install docker-ce docker-ce-cli containerd.io
root@zbw-docker01:~# docker -v
Docker version 18.09.6, build 481bc77
centos7安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
运行第一个容器
docker run -d -p 80:80 httpd
其过程可以简单的描述为:
a、Docker 客户端执行 docker run 命令。
b、Docker daemon 发现本地没有 httpd 镜像,从 Docker Hub 下载 httpd 镜像。镜像中已经安装好了 Apache HTTP Server。
c、下载完成,镜像 httpd 被保存到本地。
d、Docker daemon 启动容器,并将容器的 80 端口映射到 host 的 80 端口。
用浏览器验证是否正常工作
镜像下载加速
由于 Docker Hub 的服务器在国外,下载镜像会比较慢。修改为国内镜像服务器。
a、在 daocloud.io 免费注册一个用户。
b、登陆后,点击更多,加速器
c、curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://82542146.m.daocloud.io
d、重启 Docker deamon,即可体验飞一般的感觉。
systemctl restart docker.service
附自动安装脚本:
vim docker-install.sh
#!/bin/bash #change apt source cat > /etc/apt/sources.list << EOF deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse EOF apt-get update apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update apt-get install docker-ce docker-ce-cli containerd.io -y #add daocloud.io images source curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://82542146.m.daocloud.io systemctl restart docker.service docker run -d -p 80:80 httpd docker ps docker -v