鹿鸣小站

鹿鸣小站

2 - docker安装

300
2020-06-12

记录学习 docker 的脚印

  1. docker简单介绍

🏃🏾‍♂️🏃🏾‍♂️

一、环境

一台可上外网的centos7,这里以本地虚拟机做演示,刚刚安装,干干净净。

2

二、准备工作

1、安装vim

这个centos默认没安装vim,所以需要安装一下,如果没有yum,还得先装yum

# 安装
yum -y install vim

# 检查
npm -qa | grep vim安装docker

三、安装Docker

社区版免费,反正也只能搞到社区版,emmm....

Docker-CE安装在centos的官方教程:https://docs.docker.com/engine/install/centos/

其他版本也有,按需而取,安装过程跟着官网一步一步走就得了。

官方教程有介绍3种安装方法,这里就选最简单的也是推荐的方法安装。

3

紧跟着就是这种安装方法的介绍和安装步骤。

据它介绍,第一次安装时,我们需要先安装Docker仓库,然后再安装Docker引擎。

4

1、安装Docker仓库

首先要安装 yum-utils 包。

yum install -y yum-utils

然后安装仓库,"\"是个连接符,拼接字符串用的。

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

这里仓库地址可以换成阿里云的(如果太慢的话)。

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5

我的操作记录:

6

2、安装Docker引擎

版本选择也是自己定,以学习为目的的话,还是建议选择安装最新版,这样可以学到新东西。

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

7

因为刚刚选的是官网源,稍微有点慢,耐心等待一下......

如果怕连接中断什么的出各种毛病的话,就弄国内源吧。

安装完成,启动一下,查看版本,到今天docker-ce最新版本是19.03.11,19年3月的

systemctl start docker

docker version

docker客户端

8

docker服务
9

我的操作记录:
10

四、永恒的Hello World

安装完成,接下来跑一个 hello world 工程。

上一篇文章介绍过,docker有仓库、镜像、容器的概念。现在我们刚刚安装的这个docker还是干干净净的初生儿,那么我们就需要从远程仓库拉取一个hello-world镜像到本地,再依据这个镜像启动一个容器。

我们知道docker官方仓库在国外,如果要跑到国外去扒拉镜像到本地那也太慢了,尽管hello-world很小,但其他镜像可不一样,所以在拉取hello-world之前,我们得给docker配一下国内源,搞一个镜像加速器,这里就配一下阿里云的,好处多多。

配置docker镜像加速:

温馨提示:这是centos7的配置方法,centos6不是这样~

1、首先,你得有一个阿里云的账户,登陆进去,找到“容器镜像服务“,进入控制台,选择“镜像加速器”,选择“CentOS”。

11

2、按照配置方法,新建一个/etc/docker目录,在这个目录下新建并编辑文件daemon.json,添加一串json数据串

mkdir -p /etc/docker
vim /etc/docker/daemon.json

# daemon.json的内容
{
  "registry-mirrors": ["你的加速器地址,每个用户都不一样"]
}

3、然后重载一下,重启docker,就OK了

systemctl daemon-reload
systemctl restart docker

12

OK,开始hello-world

1、首先,我们可以看一下,本地镜像空空如也,运行中的容器也空空如也

docker images	# 查看本地镜像
docker ps	# 查看运行中的容器

镜像

13

容器

14

2、搜索一下远程仓库(Docker Hub)的hello-world镜像,看看都有啥

docker search 镜像名

15

3、看镜像名,把官方的hello-world扒拉到本地

指令

docker pull image[:tag]

版本可选,如果不写,默认拉最新版

docker pull hello-world	# 相当于docker pull hello-world:latest

扒拉完了,查看一下本地镜像,发现已经有了hello-world

16

4、启动容器

两种指令都可以

# 1
docker run 镜像ID [其他参数]
# 2
docker run 镜像仓库[:tag版本] [其他参数]

我比较喜欢使用镜像ID启动容器

docker run bf756fb1ae65

17

可以看到,我们已经启动成功了一个hello-world容器,此时我们可以查一下,运行中的容器

18

惊呆了,居然还是空空如也😱

其实这是正常的,因为这是docker的一种自我保护的机制,就是说如果要启动一个容器,那就必须有一个前台进程,如果没有,那docker就认为这个容器是空闲的很浪费资源,然后就把它给杀了🤣

但是我们可以查看它运行过的痕迹

docker ps -a

19

OK,本章结束,下一章计划学习docker常用命令。

快乐~~