Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
配置域名解析:vi /etc/resolv.conf
Docker 支持以下的 64 位 CentOS 版本:CentOS 7、CentOS 8或更高版本…
yum list installed | grep docker
yum -y remove docker-ce.x86_64
yum provides '*/applydeltarpm'
yum install deltarpm -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看是否添加成功:ls /etc/yum.repos.d
yum -y install docker-ce
看到上面提示,安装成功。
如果提示您接受 GPG 密钥,请选是。
安装之后,启动docker :systemctl start docker
docker version
将该配置文件中下面项目设置如下:SELINUX=disabled
使用命令:systemctl stop firewalld.service
关闭运行的防火墙
关闭之后,查看防火墙状态
systemctl start docker
systemctl enable docker
配置Docker加速器,将会提升在国内获取Docker官方镜像的速度,否则后面下载镜像的过程会很慢,甚至有可能无法下载镜像。
国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<自己申请的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
以配置阿里云加速器为例:
vi /etc/docker/daemon.json
如果系统没有改目录和文件,需要新建 mkdir /etc/docker
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
之后重新启动服务:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
检查加速器是否生效:
在命令行执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效。
Docker 允许你在容器内运行应用程序,使用 docker run 命令来在容器内运行一个应用程序。
docker run hello-world
第二种方式:Docker 以 centos 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果
docker: Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
centos 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,
如果不存在,Docker 就会从镜像仓库 Docker Hub 下载最新的公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
docker ps -a
通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
各个参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
通过 docker ps
查看容器是否正在运行。
使用docker start 容器ID
命令启动容器
使用 docker stop 容器ID
命令停止容器