当前位置: 首页 > news >正文

安装Docker及DockerCompose

0.安装Docker

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。

Docker CE 分为 stable testnightly 三个更新频道。

官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。

1.CentOS安装Docker

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。

1.1.卸载(可选)

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce

1.2.安装docker

首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast

然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

1.3.启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

通过命令启动docker:

systemctl start docker  # 启动docker服务systemctl stop docker  # 停止docker服务systemctl restart docker  # 重启docker服务

然后输入命令,可以查看docker版本:

docker -v

如图:

1.4.配置镜像加速

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

2.CentOS7安装DockerCompose

2.1.下载

Linux下需要通过命令下载:

# 安装
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件:

上传到/usr/local/bin/目录也可以。

2.2.修改文件权限

修改文件权限:

# 修改权限
chmod +x /usr/local/bin/docker-compose

2.3.Base自动补全命令:

# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果这里出现错误,需要修改自己的hosts文件:

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

3.Docker镜像仓库

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。

官网地址:https://hub.docker.com/_/registry

3.1.简化版镜像仓库

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下:

docker run -d \--restart=always \--name registry	\-p 5000:5000 \-v registry-data:/var/lib/registry \registry

命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。

访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像

3.2.带有图形化界面版本

使用DockerCompose部署带有图象界面的DockerRegistry,命令如下:

version: '3.0'
services:registry:image: registryvolumes:- ./registry-data:/var/lib/registryui:image: joxit/docker-registry-ui:staticports:- 8080:80environment:- REGISTRY_TITLE=传智教育私有仓库- REGISTRY_URL=http://registry:5000depends_on:- registry

3.3.配置Docker信任地址

我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.150.101:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

相关文章:

  • LockBit病毒入侵揭秘:如何防范与应对
  • (libusb) usb口自动刷新
  • YOLO V5、SAM、RESNET50模型在GPU环境下搭建过程
  • pytorch项目代码记录
  • 【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源
  • C++ 面试题
  • 独立游戏《星尘异变》UE5 C++程序开发日志2——创建并编写一个C++类
  • 【java-面试题】start和run的区别
  • 从零开始学习Netty - 学习笔记 -Netty入门【半包,黏包】
  • Vue3:使用 Composition API 不需要 Pinia
  • C++知识点总结(22):模拟算法真题 ★★★☆☆《安全警报》
  • 【LeetCode】1768_交替合并字符串_C
  • 牛市初期,Penpad 以 Fair Launch 方式推出首个资产 PEN
  • 如何创建测试计划?这些要考虑到
  • 【IO流系列】字符流练习(拷贝、文件加密、修改文件数据)
  • android 一些 utils
  • Apache的基本使用
  • Java 内存分配及垃圾回收机制初探
  • LeetCode算法系列_0891_子序列宽度之和
  • MySQL几个简单SQL的优化
  • React组件设计模式(一)
  • Redis字符串类型内部编码剖析
  • SpiderData 2019年2月25日 DApp数据排行榜
  • web标准化(下)
  • 阿里云应用高可用服务公测发布
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 计算机常识 - 收藏集 - 掘金
  • 试着探索高并发下的系统架构面貌
  • 收藏好这篇,别再只说“数据劫持”了
  • 一些关于Rust在2019年的思考
  • python最赚钱的4个方向,你最心动的是哪个?
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • (2)nginx 安装、启停
  • (C语言)共用体union的用法举例
  • (Oracle)SQL优化技巧(一):分页查询
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (编译到47%失败)to be deleted
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (十六)Flask之蓝图
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .Net 8.0 新的变化
  • .NET CORE Aws S3 使用
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net8 Blazor 尝鲜
  • .NET框架设计—常被忽视的C#设计技巧
  • /etc/fstab 只读无法修改的解决办法
  • ;号自动换行
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • []error LNK2001: unresolved external symbol _m
  • [AIGC] 如何建立和优化你的工作流?
  • [android] 请求码和结果码的作用
  • [Angularjs]ng-select和ng-options