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

bash 复制代码
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

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注册,得到形如:

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

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

相关推荐
极简网络科技18 分钟前
Docker、Wsl 打包迁移环境
运维·docker·容器
黑客老李23 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
杨浦老苏24 分钟前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘26 分钟前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
一加一等于二39 分钟前
docker部署postgresql17,并且安装插件
docker·postgresql
RussellFans1 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
猴哥聊项目管理2 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
Chuncheng's blog2 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
猫咪老师19952 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器
aitav02 小时前
⚡️ Linux Docker 基本命令参数详解
linux·运维·docker