Linux部署Docker

接触一段时间docker,这个工具大大提高了开发者打包应用的效率,。

一直都是直接把镜像扔到到docker里构建容器启动,并没有深入了解。

Linux部署Docker_第1张图片
本文由alpha0808大佬指导,如果要了解docker的概念以及命令,请去看大佬这篇DOCKER之入门篇

本篇文章集中于linux系统下对docker及相关组件的部署。

目录

  • 一、安装docker
  • 二、镜像加速
    • 获取阿里云镜像地址
    • 添加加速器地址
  • 三、可视化管理工具Portainer
    • 简介
    • 展示
    • 安装
      • 镜像下载
      • 容器运行
      • 创建用户
      • docker连接管理
  • 四、补充
    • docker开机自启
    • 容器开机自启

一、安装docker

按照官网 https://docs.docker.com/engine/install/centos/执行命令即可

#1.yum检查更新
sudo yum check-update
#2.删除旧版本
sudo yum remove docker docker-client docker-client-latest  docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
#3.安装gcc环境
yum -y install gcc
yum -y install gcc-c++
#4.安装依赖项
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#5.将 Docker 存储库添加到 CentOS
sudo 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
#如果没有执行命令1更新,那么此时执行命令即可
yum makecache fast
#6.下载docker
sudo yum install -y docker #注意这样下载需要接受GPG秘钥,相当于一个数字指纹,指纹格式:060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
#或者社区版本
yum -y install docker-ce
#7.检查版本
docker version
#或者
docker -v
#8.查看docker进程
docker ps

执行第8步,如果报错
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemo
是因为docker还没启动

解决方案:

systemctl start docker.service

二、镜像加速

使用阿里云镜像地址来加速镜像下载的速度

获取阿里云镜像地址

点击容器镜像服务
镜像工具镜像加速器,生成加速器地址

Linux部署Docker_第2张图片

添加加速器地址

切换目录至/etc/docker

cd /etc/docker

编辑daemon.js文件

{
	"registry-mirrors": ["加速器地址"]
}

重启docker的伴随线程

systemctl daemon-reload

重启docker服务

systemctl restart docker

三、可视化管理工具Portainer

简介

Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能

展示

  • 首页
    包含docker-compose、容器、镜像、卷、网络总体概况
    Linux部署Docker_第3张图片
  • 容器
    包含容器的启动、暂停、杀死进程、重启、新增,监控,日志查看,容器控制台等功能。
    Linux部署Docker_第4张图片
  • 镜像
    包含镜像详细查看、删除、导入、导出等功能
    Linux部署Docker_第5张图片

安装

采用docker安装

镜像下载

查询portainer镜像

docker search portainer

Linux部署Docker_第6张图片

下载portainer镜像

docker pull portainer/portainer

Linux部署Docker_第7张图片

容器运行

docker run -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer

开放9000端口

firewall-cmd --zone=public --add-port=9000/tcp --permanent && firewall-cmd --reload

创建用户

访问9000端口,第一次登录设置管理员账号和密码
Linux部署Docker_第8张图片

docker连接管理

Linux部署Docker_第9张图片
可以选择管理本地Local和远程Remote的Docker两个选项,我们安装在本机,直接选择Local,然后Connect进入管理界面
Linux部署Docker_第10张图片
点击connect,报错

Failure dial unix /var/run/docker.sock: connect: permission denied

可以猜测是SElinux的问题,看SELinux状态:sestatus 命令进行查看

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:                 enabled

修改/etc/selinux/config 文件,保存后重启机器

SELINUX=enforcing改为SELINUX=disabled

再次访问9000,连接local,成功
Linux部署Docker_第11张图片

四、补充

docker开机自启

sudo systemctl enable docker

容器开机自启

以上面的docker可视化管理工具portainer为例,希望开机的时候,自动启动镜像

启动命令加–restart=always

docker run -p 9000:9000 --name portainer --restart=always  -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer

如果已经在运行的镜像

docker update --restart=always portainer

你可能感兴趣的:(docker,docker,linux,运维)