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

相关推荐
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
雪域迷影7 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
福大大架构师每日一题8 小时前
22.1 k8s不同role级别的服务发现
容器·kubernetes·服务发现
莹雨潇潇8 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
Pythonliu79 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我9 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
tangdou3690986559 小时前
1分钟搞懂K8S中的NodeSelector
云原生·容器·kubernetes
小O_好好学11 小时前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥11 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
john_hjy11 小时前
11. 异步编程
运维·服务器·javascript