一、安装
1.1关闭SeLinux
SeLinux(Security-Enhanced Linux)是一种基于Linux内核的安全模块,旨在提供更严格的访问控制和安全策略。它通过强制实施安全策略来限制系统资源的访问,从而保护系统免受恶意软件和未经授权的访问。
在安装和配置SeLinux时,需要编辑
/etc/selinux/config
文件以启用或禁用SELinux。以下是一些常见的配置选项:
SELINUX=enforcing
:启用SELinux并强制执行安全策略。SELINUX=permissive
:启用SELinux但允许某些操作不受限制。SELINUX=disabled
:禁用SELinux,不强制执行任何安全策略。要更改SELinux的状态,请使用文本编辑器打开
/etc/selinux/config
文件
查询: getenforce关闭: /etc/selinux/config中,设置
SELINUX=disabled,重启
1.2关闭防⽕墙
1.3安装依赖
bash
yum install -y yum-utils device-mapper-persistent-data lvm2 conntrack
这些是Linux系统中的一些软件包,它们分别提供了以下功能:
yum-utils:这是一个用于管理YUM(Yellowdog Updater, Modified)的软件包工具。它提供了一些实用程序和命令行工具,用于处理YUM仓库、安装、更新和管理软件包。
device-mapper-persistent-data:这是一个设备映射器软件包,用于提供持久化数据存储功能。它允许用户将块设备映射到文件系统,从而实现对数据的持久化存储。
lvm2:这是一个逻辑卷管理器(Logical Volume Manager)软件包,用于管理Linux系统中的物理磁盘分区和逻辑卷。它提供了创建、扩展、合并和删除逻辑卷的功能,以及管理逻辑卷组(Logical Volume Groups)的功能。
conntrack:这是一个网络连接跟踪工具,用于跟踪和记录网络连接的状态信息。它可以帮助我们诊断网络问题,例如跟踪TCP连接、UDP连接等。
1.4配置repo
bash
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加Docker仓库的命令。通过这个命令,你可以从Docker官方网站下载适用于CentOS系统的Docker CE(Community Edition)软件包。
1.5查询可⽤版本
bash
yum list docker-ce --showduplicates | sort -r
1.6安装指定版本
bash
yum install -y docker-ce-18.03.1.ce-1.el7.centos
1.7安装后的测试
启动docker服务
bash
systemctl restart docker.service
测试
bash
docker run --rm hello-world
如果出现docker: Error response from daemon: missing signature key. See 'docker run --help'.的报错,请先进行加速配置
卸载
bash
yum erase 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.8Docker加速配置
1.腾讯云
https://mirror.ccs.tencentyun.com
2.阿⾥云
去https://cr.console.aliyun.com/#/
accelerator注册,得到形如:
1.编辑配置⽂件/etc/docker/daemon.json
键: registry-mirrors
值: https://xxxx.mirror.aliyuncs.com,
https://mirror.ccs.tencentyun.com
2.重启docker服务
systemctl restart docker
3.查看配置结果
docker info
二、Docker化应用体验
2.1WordPresst博客系统
bash
docker run --name db --env MYSQL_ROOT_PASSWORD=123456 -d mariadb
这个命令是在Docker中运行一个名为"db"的MariaDB容器,并设置环境变量这个命令是在Docker中运行一个名为"db"的MariaDB容器,并设置环境变量MYSQL_ROOT_PASSWORD为123456。具体解析如下:
`docker run`: 这是Docker的命令行工具,用于创建和运行容器。
`--name db`: 这指定了容器的名称为"db"。
`--env MYSQL_ROOT_PASSWORD=123456`: 这设置了环境变量MYSQL_ROOT_PASSWORD的值为123456。环境变量可以在容器内部使用,可以用来配置容器的行为。
`-d`: 这个选项表示以后台模式运行容器。这意味着容器将在后台运行,不会在终端中显示任何输出。
`mariadb`: 这是要运行的镜像的名称。在这个例子中,我们正在运行一个名为"mariadb"的MariaDB镜像。
所以,整个命令的意思是:创建一个名为"db"的MariaDB容器,并将环境变量MYSQL_ROOT_PASSWORD设置为123456,然后在后台运行这个容器。
bash
docker pull wordpress
这个命令是在Docker中运行一个名为"mywordpress"的WordPress容器,并将数据库容器"db这个命令是在Docker中运行一个名为"mywordpress"的WordPress容器,并将数据库容器"db:mysql"映射到主机的8080端口。具体解析如下:
`docker run`: 这是Docker的命令行工具,用于创建和运行容器。
`--name mywordpress`: 这指定了容器的名称为"mywordpress"。
`link db:mysql`: 这将数据库容器"db:mysql"链接到当前容器。这意味着当前容器可以访问数据库容器的数据。
`-p 8080:80`: 这个选项将主机的8080端口映射到容器的80端口。这意味着你可以通过访问主机的8080端口来访问容器的80端口。
`-d`: 这个选项表示以后台模式运行容器。这意味着容器将在后台运行,不会在终端中显示任何输出。
`wordpress`: 这是要运行的镜像的名称。在这个例子中,我们正在运行一个名为"wordpress"的WordPress镜像。
注意服务器防火墙相应端口开启,不然浏览器无法访问
详细参考下述博客
三、docker-compose演示
3.1docker容器命令
- start: 启动容器;
- stop: 停⽌容器;
- ps: 查看容器.
容器间的依赖
"⼀个容器⼀个进程";
假设⼀个服务需要由多个进程组成,就需要多个容
器组成⼀个系统,相互分⼯和配合对外提供完整服
务;
⽐如, 博客系统:
组件1: mariadb;
组件2: WordPress的Apache web.
3.2docker-compose概述
容器编排⼯具,允许⽤户在⼀个模版(YAML格式)中定义⼀组相关联的容器,会根据---link等参数对启动的优先级进⾏排序.
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-
compose-(uname -s)-(uname -m)" -o /usr/local/bin/docker-compose
docker-compose --version