Bootstrap

Docker容器(二)安装与初体验wordpress

一、安装

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安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2  conntrack

 这些是Linux系统中的一些软件包,它们分别提供了以下功能:

1. yum-utils:这是一个用于管理YUM(Yellowdog Updater, Modified)的软件包工具。它提供了一些实用程序和命令行工具,用于处理YUM仓库、安装、更新和管理软件包。

2. device-mapper-persistent-data:这是一个设备映射器软件包,用于提供持久化数据存储功能。它允许用户将块设备映射到文件系统,从而实现对数据的持久化存储。

3. lvm2:这是一个逻辑卷管理器(Logical Volume Manager)软件包,用于管理Linux系统中的物理磁盘分区和逻辑卷。它提供了创建、扩展、合并和删除逻辑卷的功能,以及管理逻辑卷组(Logical Volume Groups)的功能。

4. conntrack:这是一个网络连接跟踪工具,用于跟踪和记录网络连接的状态信息。它可以帮助我们诊断网络问题,例如跟踪TCP连接、UDP连接等。

1.4配置repo 

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

添加Docker仓库的命令。通过这个命令,你可以从Docker官方网站下载适用于CentOS系统的Docker CE(Community Edition)软件包。

1.5查询可⽤版本 

yum list docker-ce --showduplicates | sort -r 

1.6安装指定版本

 yum install -y docker-ce-18.03.1.ce-1.el7.centos

 

1.7安装后的测试

启动docker服务

systemctl restart docker.service 

测试

docker run --rm hello-world

如果出现docker: Error response from daemon: missing signature key. See 'docker run --help'.的报错,请先进行加速配置

卸载

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注册,得到形如: 
https://xxyyzz.mirror.aliyuncs.com的加速地址 

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博客系统

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,然后在后台运行这个容器。

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安装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

;