锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

在ContOS7下安装Docker以及DockerCompose

时间:2023-10-17 13:07:01 gxa系列电容器

安装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.repo      sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo  yum makecache fast 

然后输入命令:

yum install -y docker-ce 

docker-ce免费版本的社区。等一会儿,docker可成功安装。

1.3 启动docker

Docker应用程序需要使用各种端口,逐一修改防火墙设置。很麻烦,所以建议直接关闭防火墙!

启动docker一定要关好防火墙!

启动docker一定要关好防火墙!

启动docker一定要关好防火墙!

# 关闭 [root@192 ~]# systemctl stop firewalld   # 禁止启动防火墙 [root@192 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.  # 检查防火墙的状态 [root@192 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)    Active: inactive (dead)      Docs: man:firewalld(1)  7月 16 21:25:32 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... 7月 16 21:25:33 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. 7月 16 21:25:33 localhost.localdomain firewalld[583]: WARNING: AllowZoneDrifting is enabled. This is considered an inse... now. 7月 16 21:49:14 192.168.124.128 systemd[1]: Stopping firewalld - dynamic firewall daemon... 7月 16 21:49:14 192.168.124.128 systemd[1]: Stopped firewalld - dynamic firewall daemon. Hint: Some lines were ellipsized, use -l to show in full. 

从命令开始docker:

# 启动docker服务 [root@192 ~]# systemctl start docker   # 检查是否已成功启动Docker [root@192 ~]# systemctl status docker ● docker.service - Docker Application Container Engine    Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)    Active: active (running) since 六 2022-07-16 21:53:02 CST; 22s ago      Docs: https://docs.docker.com  Main PID: 15345 (dockerd)     Tasks: 7    Memory: 32.4M    CGroup: /system.slice/docker.service            └─15345 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.662962187 08:00" level=info msg="scheme \"uni...=grpc 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.662972965 08:00" level=info msg="ccResolverWr...=grpc 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.662981094 08:00" level=info msg="ClientConn s...=grpc 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.671598626 08:00" level=info msg="Loading cont...art." 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.767447020 08:00" level=info msg="Default brid...ress" 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.821383176 08:00" level=info msg="Loading cont...one." 7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.833770515 08:00" level=info msg="Dockerdaemo...10.17
7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.833943970+08:00" level=info msg="Daemon has c...tion"
7月 16 21:53:02 192.168.124.128 systemd[1]: Started Docker Application Container Engine.
7月 16 21:53:02 192.168.124.128 dockerd[15345]: time="2022-07-16T21:53:02.852543678+08:00" level=info msg="API listen o...sock"
Hint: Some lines were ellipsized, use -l to show in full.

# 查看Docker版本
[root@192 ~]# docker -v
Docker version 20.10.17, build 100c701

# 停止docker服务
[root@192 ~]# systemctl stop docker  

# 重启docker服务
[root@192 ~]# systemctl restart docker  

1.4 配置镜像加速

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

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

image-20220716135709582

通过以下命令来配置镜像加速:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://u3m23gxa.mirror.aliyuncs.com"]
}
EOF

检测是否已经写入镜像地址:

[root@192 ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://u3m23gxa.mirror.aliyuncs.com"]
}
[root@192 ~]# 

重新加载文件并重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

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

如果下载速度较慢,或者下载失败,也可以使用链接(链接:https://pan.baidu.com/s/1QzzPdOUeQS7rKjZYep49hA 提取码:ayin)提供的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: 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

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

depends_on:
- registry




## 3.3 配置Docker信任地址

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

```sh
# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.150.101:8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章