当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/281053.html

相关文章:

  • Odrive 学习系列二:将烧录工具从ST-Link V2修改为JLink
  • ffmpeg api-codec-param-test.c源码讲解
  • Hive学习(14)json解析get_json_object()函数
  • sqlilabs第五十五五十六关
  • Vue2 实现带输入的动态表格,限制el-input输入位数以及输入规则(负数、小数、整数)
  • 反爬虫策略:使用FastAPI限制接口访问速率
  • 响应式编程初探-自定义实现Reactive Streams规范
  • 如何使用LightPicture+cpolar搭建个人云图床随时随地公网访问
  • 华媒舍:高效率的新闻资讯新闻媒体宣发套餐内容推广计划方案
  • MySQL使用通配符进行数据搜索以及过滤
  • Overleaf IEEE白嫖即将失效!
  • 条件控制生成---相关论文集合
  • 揭秘亚马逊、ebay测评系统:从稳定环境搭建到防关联技术
  • 街机模拟游戏逆向工程(HACKROM)教程:[3]街机的ROM与RAM
  • Element UI CascaderPanel级联组件使用和踩坑总结
  • Oracle全系列版本官网下载保姆及教程
  • 漏洞扫描是最该被防范的安全问题
  • Unity 工具 之 Azure 微软连续语音识别ASR的简单整理
  • MLP-Mixer: An all-MLP Architecture for Vision
  • redis前缀匹配数据迁移数据
  • 云贝教育 |【技术文章】存储对象的LIBRARY CACHE LOCK/PIN实验(一)
  • C# 快速模指数运算 快速求余运算
  • Chisel入门初步0
  • MySQL 8.0中移除的功能(一)
  • 可抓取性和可索引性:它们是什么以及如何影响搜索引擎优化
  • Django教程第4章 | Web开发实战-三种验证码实现
  • 深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
  • VUE指令(二)
  • 开源对象存储服务器MinIO本地部署并结合内网穿透实现远程访问管理界面
  • 【TypeScript】tsconfig.json文件到底是干啥的?作用是什么?