Linux(Centos7)中安装Docker和DockerCompose

2023-09-13 11:45:01

一、安装Docker

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

官方网站上有各种环境下的 https://docs.docker.com/install/,这里主要介绍 Docker CE 在 CentOS上的安装。

二、安装Docker

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

1.卸载(可选)

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

- yum install vim
- yum install git
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

2.安装docker

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

#检查网络
ping 163.com

#安装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.repo
    
yum makecache fast

#等待回车执行

# 然后输入命令:

yum install -y docker-ce

#稍等片刻,docker即可安装成功

docker-ce为社区免费版本

3.启动docker

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

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

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

启动docker前,一定要关闭防火墙后!!
# 关闭
#system control
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

#检查状态
systemctl status firewalld
通过命令启动docker:

systemctl start docker  # 启动docker服务

#systemctl stop docker  # 停止docker服务

#systemctl restart docker  # 重启docker服务
然后输入命令,可以查看docker版本:

docker -v

在这里插入图片描述

4.配置镜像加速

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

/etc/docker/daemon.json

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

- 使用自己阿里云镜像源:https://cr.console.aliyun.com/cn-shanghai/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#粘贴多行命令,最后一样只会显示到终端上,需要自己回车执行

#记得回车
#测试速度:拉取Reids6.0版本的镜像
docker pull redis:6.0

三、安装DockerCompose

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
上传到`/usr/local/bin/`目录也可以。

2.修改文件权限

修改文件权限:添加可执行权限
# 修改权限
chmod +x /usr/local/bin/docker-compose

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 "185.199.108.133 raw.githubusercontent.com" >> /etc/hosts

三、Docker镜像仓库

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

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

1.简化版镜像仓库

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

搭建方式比较简单,命令如下:
docker run \
    --restart=always \
    --name registry	\
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    -d registry
命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。

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

- `http://192.168.200.130:5000/v2/_catalog

2.带有图形化界面版本

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

docker-compose.yml
version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - ./registry-data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:static
    ports:
      - 8080:80
    environment:
      - REGISTRY_TITLE=传智教育私有仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry
#删除简化版私有镜像仓库容器
docker rm -f registry
#启动容器:
docker-compose up -d 

# 访问 http://192.168.200.130:8080/ 查看是否能浏览成功

3.配置Docker信任地址

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

# 打开要修改的文件
vi /etc/docker/daemon.json

# 添加内容:IP地址换成你自己虚拟机IP
,"insecure-registries":["http://192.168.200.130:8080"]

# 重加载
systemctl daemon-reload

# 重启docker
systemctl restart docker

#记得回车
更多推荐

隧道代理的未来发展趋势和应用前景

在当今数字化时代,隧道代理作为一种重要的网络工具,为用户提供了绕过网络限制、保护隐私和增强安全性的方式。本文将探讨隧道代理的未来发展趋势和广阔应用前景,揭示其在不断变化的互联网环境中所扮演的关键角色。一、隧道代理的发展趋势更加智能化的代理技术:随着人工智能和机器学习的迅猛发展,隧道代理将更加智能化,能够自动适应不同的网

回调函数c++

C++回调函数的理解与使用一、回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数机制:1、定义一

780. 到达终点;2360. 图中的最长环;1871. 跳跃游戏 VII

780.到达终点核心思想:正难则反,如果从起点到终点很难想。那么我们就考虑从终点到起点,由于起点为正数,那么终点(x,y)的上一步一定是(x-y,y)或者(x,y-x)很明显肯定是大值减去小的值,然后我们不断重复这种操作,直到,终点的x或者y等于起点的x或者y,又或者两个值相同的时候停止,因为这种时候再去减去一个数一定

Spring MVC常见面试题

SpringMVC简介SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。简单来说,SpringMVC整合了前端请求的处理及响应。Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服

02Nginx配置文件的配置以及常用命令

Nginx的命令和配置文件Nginx的优点Nginx的优点跨平台:Nginx可以在大多数操作系统中运行,而且也有Windows的移植版本配置简单:配置风格跟程序开发一样非阻塞、高并发:数据复制时磁盘I/O的第一阶段是非阻塞的,在实际生产环境中跑到2-3万并发连接数(这得益于Nginx使用了最新的epoll模型)事件驱动

HTTPS,不可或缺的数据安全锁

当今社会,网络已经渗透到我们生活的方方面面,而在网络世界中,数据安全是至关重要的。HTTPS作为一种安全的数据传输协议,已经成为了不可或缺的数据安全锁。首先,让我们了解一下HTTPS是如何保证数据安全的。HTTPS是在HTTP协议的基础上加入了SSL/TLS协议,通过传输加密和身份认证来保证数据传输的安全性。在HTTP

Linux 终端与进程

有趣的问题Linux中的终端,控制台,TTY,PTY究竟是什么?它们与进程有什么关系?历史回顾:控制台(Console)控制台是一个直接控制设备的面板(属于设备的一部分)计算机设备的控制台:按键&指示灯(键盘&显示器)早期的电子计算机必然有一个控制台历史回顾:终端(Terminal)终端是一台独立于计算机的机器,是能够

css经典面试题(二)

文章目录1、清除浮动2、opacity:0、visibility:hidden、display:none的区别3、css画一个三角形4、常见的主流浏览器前缀5、重绘与重排的区别?6、如何优化图片7、CSS3中transition和animation的属性分别有哪些8、居中为什么要使用transform(为什么不使用ma

差分进化算法解析:Scala实现详细指南及其在优化问题中的应用

1.差分进化算法简介差分进化算法(DifferentialEvolution,DE)是一种演化计算的方法,主要用于连续空间的优化问题。与其他进化算法如遗传算法不同,DE专门设计用于处理实数编码的解,使其成为处理连续优化问题的理想选择。该算法的基本思想是通过结合当前代的个体与他们的变异体产生新的试验点,然后用某种选择准则

界面组件DevExpress WinForms v23.1亮点 - 全新升级HTML & CSS模板

DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!DevExpressWinForm控件已正

Games101作业0(vscode连接VB虚拟机)

作业0配置环境:基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发vscode连接VB虚拟机1.用户名可以看到Username为cs18并非为css1802.密钥在window主机生成密钥ssh-keygen#一路回车3.VB虚拟机配置sshsshd_config配置cd/etc/ssh/vimss

热文推荐