CentOS 7 系统中安装 Docker

Docker 是基于 Go 语言开发的,可以实现一次构建,多出运行
是一种 DevOps(开发运维)模式

Docker 架构图

在这里插入图片描述
图片来源与网络


安装教程

Step1 卸载旧版本

如果之前从未安装过,则可以跳过

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Step2 设置存储库

# 安装 yum-utils 包(包含了 yum-config-manager 工具)
$ sudo yum install -y yum-utils

# 添加 Docker 存储库
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装要求:CentOS 7 以上,64 位系统,系统内核版本 3.10+
查看 Linux 系统内核版本:

$ uname -r
or
$ cat /etc/redhat-release

配置阿里云镜像加速器

获取阿里云加速器地址

# 创建 Docker 配置文件
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的阿里云加速地址"]
}
EOF
# 重新加载
$ sudo systemctl daemon-reload
# 重启 Docker
$ sudo systemctl restart docker

运行一个镜像

镜像就好比 Java 中的类,一个镜像可以生成多个容器(一个类可以实例出多个对象),容器就好比对象。

$ docker run hello-world

运行 run 时会先在本机存储库中寻找该的镜像;

  • 如果则以该镜像生成容器实例运行;
  • 如果没有则去远程(已配置的阿里云)存储库中拉取到本地再运行
    • 远程仓库能找到:下载该镜像到本地,并生成容器实例运行;
    • 远程仓库找不到:返回错误信息;

执行结果:

Unable to find image 'hello-world:latest' locally
latest: Pulling from hello-world
882673a3c694:  Pull complete
83f0de727d85:  Pull complete
Digest:  sha256: 4555e23a9cf5ala216bd8b0d1b08a25e4144c2ecf6adb26adb26df9620245ba99529
Status:  Downloaded newer image for hello-world: latest

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/

Command 命令

帮助命令
# 查看 Docker 版本信息
$ docker version

# 查看 Docker 的详细信息(容器、镜像等。比 docker version 更详细)
$ docker info

# 帮助信息
$ docker --help

镜像命令

列出本机所有镜像

$ docker images

Options(选项)
	-a 列出本机所有镜像(包含中间映像层 - 镜像是分层的)。
	-q 只查询出(镜像 ID)一列。
	--digests 显示镜像摘要信息(描述)
	--no-trunc 显示完整的镜像 ID

运行结果

仓库源				标签 				镜像 ID				创建时间				大小
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        3 months ago        13.3kB

注意:同一仓库源下可以有多个 TAG,代表这个仓库源下的不同版本,可以使用 REPOSITORY:TAG 来定义不同的镜像。
如果不指定镜像版本标签,默认为 latest(最新版本)镜像


从 Docker Hub 中查找镜像
虽然已经配置了阿里云镜像加速,但是搜索镜像还是会去 Docker Hub 中去找。

# 查询镜像
$ docker search tomcat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值