docker 的介绍以及安装
本文为CSDN博主「Baret-H」的原创文章.
原文链接:docker详细介绍
文章目录
本文是按照此文章进行测试和使用的
1.docker介绍
主要是用于容器化部署,各种环境部署方便,以下是docker里面的几个概念必须得了解。
镜像(image)
镜像就是一个只读的模板,可以通过这个模板创建容器服务,一个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)
容器(container)
-
Docker利用容器技术,独立运行的一个或一组应用。容器是用镜像创建的运行实例。
-
它可以被启用,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台。
-
可以把容器看作是一个简易版的Linux系统(包括root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。
-
容器的定义和镜像几乎一摸一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的
仓库(repository)
-
仓库是集中存放镜像文件的场所。
-
仓库和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签
-
仓库分为公开仓库(public)和私有仓库(private)两种形式
-
最大的开放仓库是国外的 Docker Hub,存放了数量庞大的镜像供用户下载。
-
国内的公开仓库包括阿里云,网易云都有容器服务器(需要配置镜像加速)等
2. 环境准备
要安装Docker Engine,您需要CentOS 7或8的维护版本。不支持或未测试存档版本。
如下是我的系统内核和版本
uname -r
cat /etc/os-release
3. 安装
官网安装教程十分详细,可参照此教程: https://docs.docker.com/engine/install/centos/
3.1 卸载Docker
卸载docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 由于我并没安装过,所以会显示不删除任何软件包
3.2 安装Docker软件包
首先切换到管理员,配置了sudo用sudo也行
- 切换到管理员
su root
- 切换到/usr/local路径
cd /usr/local
- 创建文件夹docker
mkdir docker
- 进入文件夹
cd docker
3.2.1 安装yum工具包
yum install -y yum-utils
3.2.2 设置Docker镜像仓库地址
# 默认是国外的
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
3.2.3 安装最新版Docker Engine和容器
- 安装前建议先将将服务器上的软件包信息现在本地缓存,以提高安装软件的速度
yum makecache fast
# docker-ce社区版(docker-ee企业版)
yum install docker-ce docker-ce-cli containerd.io
- 报错公钥尚未安装,根据自己系统的centos版本找到对应的公钥安装
rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
-
再重新安装docker。
yum remove docker-ce -y && yum install docker-ce -y && service docker start
-
如果还是不行
给系统添加一个docker组
groupadd docker
-
如果出现文件无法锁定就删除这个文件
-
再重新添加组
groupadd docker
systemctl enable docker && systemctl start docker
- 查看docker的状态
systemctl status docker
4.启动Docker
systemctl start docker
查看docker版本
docker version
5.运行Hello World映像测试
docker run hello-world
6. 阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://73z5h6yb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
7.Portainer可视化面板
1. 什么是 portainer ?
Docker 图形化界面管理工具,提供一个后台面板供我们操作
portainer
(先用这个,不是最佳选项;学习CI/CD时再用 Rancher
)
2. 下载portainer
docker run -d -p 8088:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
3. 访问测试
我们用docker ps
命令查看一下正在运行的容器,可以看到 portainer 正在运行
docker ps
这时候我们访问外网8088
端口测试一下,这里访问 阿里云服务器公网ip:8088 (注意安全组打开8088端口),就会出现如下界面
然后自己设置一个密码创建用户登录
然后选择 Local
,再点击 Connect
就会进入管理界面