【Docker】Linux部署Docker
# 【Docker】Linux 部署 Docker
接触一段时间 docker,这个工具大大提高了开发者打包应用的效率。
一直都是直接把镜像扔到到 docker 里构建容器启动,并没有深入了解。
本文由 alpha0808 大佬指导,如果要了解 docker 的概念以及命令,请去看大佬这篇 DOCKER 之入门篇
本篇文章集中于 linux 系统下对 docker 及相关组件的部署。
# 目录
# 一、安装 docker
按照官网 https://docs.docker.com/engine/install/centos/ 执行命令即可
1 | #1.yum检查更新 |
执行第 8 步,如果报错
“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemo”
是因为 docker 还没启动
解决方案:
1 | systemctl start docker.service |
# 二、镜像加速
使用阿里云镜像地址来加速镜像下载的速度
# 获取阿里云镜像地址
# 添加加速器地址
切换目录至 /etc/docker
1 | cd /etc/docker |
编辑 daemon.js 文件
1 | { |
重启 docker 的伴随线程
1 | systemctl daemon-reload |
重启 docker 服务
1 | systemctl restart docker |
# 三、可视化管理工具 Portainer
# 简介
Portainer 是 Docker 的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm 集群和服务等集中管理和操作、登录用户管理和控制等功能
# 展示
- 首页
包含 docker-compose、容器、镜像、卷、网络总体概况
- 容器
包含容器的启动、暂停、杀死进程、重启、新增,监控,日志查看,容器控制台等功能。
- 镜像
包含镜像详细查看、删除、导入、导出等功能
# 安装
采用 docker 安装
# 镜像下载
查询 portainer 镜像
1 | docker search portainer |
下载 portainer 镜像
1 | docker pull portainer/portainer |
# 容器运行
1 | docker run -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer |
开放 9000 端口
1 | firewall-cmd --zone=public --add-port=9000/tcp --permanent && firewall-cmd --reload |
# 创建用户
访问 9000 端口,第一次登录设置管理员账号和密码
# docker 连接管理
可以选择管理本地 Local 和远程 Remote 的 Docker 两个选项,我们安装在本机,直接选择 Local,然后 Connect 进入管理界面
点击 connect,报错
Failure dial unix /var/run/docker.sock: connect: permission denied
可以猜测是 SElinux 的问题,看 SELinux 状态:sestatus 命令进行查看
1 | /usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 |
修改 /etc/selinux/config 文件,保存后重启机器
将 SELINUX=enforcing 改为 SELINUX=disabled
再次访问 9000,连接 local,成功
# 四、补充
# docker 开机自启
1 | sudo systemctl enable docker |
# 容器开机自启
以上面的 docker 可视化管理工具 portainer 为例,希望开机的时候,自动启动镜像
启动命令加–restart=always
1 | docker run -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -d portainer/portainer |
如果已经在运行的镜像
1 | docker update --restart=always portainer |
# 关于我
Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!
非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!