接触一段时间docker,这个工具大大提高了开发者打包应用的效率,。
一直都是直接把镜像扔到到docker里构建容器启动,并没有深入了解。
本文由alpha0808大佬指导,如果要了解docker的概念以及命令,请去看大佬这篇DOCKER之入门篇
本篇文章集中于linux系统下对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
使用阿里云镜像地址来加速镜像下载的速度
点击容器镜像服务
镜像工具→镜像加速器,生成加速器地址
切换目录至/etc/docker
cd /etc/docker
编辑daemon.js文件
{
"registry-mirrors": ["加速器地址"]
}
重启docker的伴随线程
systemctl daemon-reload
重启docker服务
systemctl restart docker
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能
采用docker安装
查询portainer镜像
docker search portainer
下载portainer镜像
docker pull portainer/portainer
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
可以选择管理本地Local和远程Remote的Docker两个选项,我们安装在本机,直接选择Local,然后Connect进入管理界面
点击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
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