Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源
容器是完全使用沙箱机制,相互之间不会有任何接口
Community Edition: 社区版
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
设置仓库
yum install yum-utils device-mapper-persistent-data lvm2
安装所需的软件包。yum-utils 提供了 yum-config-manager (yum 仓库管理工具:yum-config-manager --add-repo repository_url
),并且 device mapper(linux的内核用来将块设备映射到虚拟块设备的framework
) 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
设置仓库yum源(或自己配置yum源)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
阿里云docker-ce镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查询仓库
yum repolist enabled # 显示所有启动的仓库
yum repolist disabled # 显示所有禁用的仓库
yum repolist all # 显示所有仓库
修改仓库
最常用的修改操作就是启动和停用, 可以使用以下命令实现:
yum-config-manager --enable repository…
yum-config-manager --disable repository…
安装最新版本的 Docker Engine-Community 和 containerd
yum install docker-ce docker-ce-cli containerd.io
containerd:供Docker和Kubernetes以及任何其他想要抽象化系统调用或特定于操作系统的功能以在Linux,Windows,Solaris或其他OS上运行容器的容器平台使用
导入 GPG key时选择y
安装成功
要安装特定版本的 Docker Engine-Community时:
#指定版本号:如docker-ce.x86_64 3:19.03.8-3.el7 ----->docker-ce-19.03.8-3.el7
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
启动docker
查看docker信息
[root@asimov ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8
[root@asimov ~]# docker info
Client:
Debug Mode: false
Server:
Containers: 15
Running: 0
Paused: 0
Stopped: 15
Images: 2
Server Version: 19.03.8
运行daocker容器
运行以centos为镜像的容器并执行命令echo “asimov”
(python3) [root@asimov ~]# docker run centos:7 /bin/echo "asimov"
本地主机上查找镜像是不存在,则在镜像仓库 Docker Hub 下载公共镜像。
Unable to find image 'centos:7' locally
7: Pulling from library/centos
ab5ef0e58194: Pull complete
Digest: sha256:4a701376d03f6b39b8c2a8f4a8e499441b0d567f9ab9d58e4991de4472fb813c
Status: Downloaded newer image for centos:7
asimov
运行交互式的容器
docker run -i -t centos:7 /bin/bash
-i:交互
-t: 在新容器内指定一个伪终端或终端
查看docke容器中的linux内核版本和linux版本
[root@asimov ~]# docker run -it centos:7
[root@7c1439774172 /]# uname -a
Linux 7c1439774172 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@7c1439774172 /]# cat /etc/centos-release
CentOS Linux release 7.7.1908 (Core)
查看imge镜像中的容器
[root@asimov ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 470671670cac 2 months ago 237MB
centos 7 5e35e350aded 4 months ago 203MB
用阿里云加速镜像