centos配置docker环境

CentOS系统更换软件安装源

yum默认链接的还是国外的镜像,速度相对不理想,配置成国内的镜像会快很多,这里以阿里镜像为例进行配置:
首先进行更新:

yum update

base源
第一步:备份你的原镜像文件,以免出错后可以恢复。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

epel源
Epel 7

wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

第三步:运行yum makecache生成缓存

yum clean all
yum makecache

安装 Docker 依赖

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

依赖下载源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 docker

yum makecache fast && yum -y install docker-ce
  • 运行docker的操作系统

  • 有大家常用的 Microsoft Windows 系列操作系统、Linux 发行版和 macOS 系统。Windows 和 macOS 上面运行的 Docker都是通过 Linux 虚拟机的方式运行。

  • 下载 Docker 镜像的时候,默认会访问 Docker 网站,而 Docker 网站是在国外部署的,距离比较远下载速度特别慢。可以通过设置加速器的方式来加速 Docker 镜像的下载。

  • 启动:systemctl start docker

  • 重启:systemctl restart docker

  • 开机自启动:systemctl restart docker

  • 运行状态:systemctl status docker

  • 配置 registry-mirrors:
    vim /etc/docker/daemon.json
    {
    “registry-mirrors”: [“https://mqxz7mjm.mirror.aliyuncs.com”],
    }
    {
    “registry-mirrors”: [“https://registry.docker-cn.com”]
    }
    systemctl daemon-reload
    systemctl restart docker

  • docker info
    Server Version: 19.03.12 #docker服务器版本
    Kernel Version: 3.10.0-1127.el7.x86_64 #linux内核版本
    Operating System: CentOS Linux 7 (Core) #linux操作系统
    OSType: linux #操作系统类型
    Docker Root Dir: /var/lib/docker #docker根目录
    Registry: https://index.docker.io/v1/ #镜像仓库
    Live Restore Enabled: false

-v ${HOME} 用户的主目录

docker配置数据库

MySQL 是最流行的开源关系型数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。

–character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

  • 配置8.0.26版本
mkdir -p /root/docker/mysql8_home
chmod 777 /root/docker/mysql8_home
docker run -d -p 3306:3306 --name mysql2 --privileged=true -v /root/docker/mysql8_home/mysql:/var/lib/mysql -v /root/docker/mysql8_home/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.26 --lower-case-table-names=1
docker run -d -p 3306:3306 --name mysql2 --privileged=true -v /root/docker/mysql8_home/mysql:/var/lib/mysql -v /root/docker/mysql8_home/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --lower-case-table-names=1
  • 配置5.7版本
mkdir -p /root/docker/mysql_home
chmod 777 /root/docker/mysql_home
docker run -d -p 3307:3306 --name mysql1 --privileged=true -v /root/docker/mysql_home/mysql:/var/lib/mysql -v /root/docker/mysql_home/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3307:3306 --name mysql1 --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

MySQL默认的数据存储目录 /var/lib/mysql
MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件 建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件

  • –privileged=true container内的root拥有真正的root权限

  • 查看数据库

show  variables like 'lower_case_table_names';
  • 连接数据库
docker exec -it mysql1 bash
docker exec -it mysql2 bash
mysql -u root -p  连接Mysql
123456
  • 使用数据库
use mysql;
  • 添加用户
alter user 'root'@'%' identified by '123456'; 增加新用户
alter user 'root'@'%' identified with mysql_native_password by '123456'; 增加新用户
  • 授权
grant all privileges on *.* to root@"%" identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%';
  • 刷新权限
flush privileges;
  • 数据库常用命令
create database my_data; 创建数据库
show databases; 查看所有数据库
drop database my_data; 删除数据库
use my_data; 连接数据库
select version(); 显示MYSQL的版本
select now(); 显示当前时间
创建数据表
create table MyClass(id int(4) not null primary key auto_increment,name char(20) not null,sex int(4) not null default '0',degree double(16,2));
show full columns from MyClass; 查询一张表的所有字段信息
show tables; 查看所有表
drop table MyClass; 删除数据表
insert into MyClass values(1,'Tom',20,96.45),(2,'Joan',21,82.99), (3,'Wang',22,96.59);  表插入数据
insert into MyClass values(1,'Tom',20,96.45);  表插入数据
select * from MyClass order by id limit 0,2; 查询表中的数据
delete from MyClass where id=1; 删除表中数据
update MyClass set name='Mary' where id=1; 修改表中数据
alter table MyClass add passtest int(4) default '0'; 增加字段
rename table MyClass to YouClass; 修改表名
exit

部署mariadb

docker pull bitnami/mariadb:latest
docker pull bitnami/testlink:latest
mkdir -p /root/docker/testlink_home
chmod 777 /root/docker/testlink_home

部署数据库

docker network rm test_link
docker network create test_link
docker run -d --name mariadb --net test_link --restart=always --privileged=true -v /root/docker/testlink_home/mariadb:/bitnami -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink bitnami/mariadb
  • -d:后台运行
    –name:设置别名
    -e:设置参数
    -e MARIADB_ROOT_PASSWORD=mariadb:设置管理员密码
    -e MARIADB_USER=bn_testlink:创建一个用户
    -e MARIADB_PASSWORD=bn_testlink:用户密码
    -e MARIADB_DATABASE=bitnami_testlink:新建数据库
    –net testlink:指定网络
    -v ${PWD}/mariadb:/bitnami bitnami/mariadb:10.3.22:挂载目录

部署 Testlink

docker run -d -p 8280:8080 -p 8443:8443 --name testlink --net test_link --restart=always --privileged=true -v /root/docker/testlink_home/testlink:/bitnami -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink bitnami/testlink
  • -p 80:80:http协议端口
    -p 443:443:https协议端口
    –name testlink :设置别名
    -e:设置参数
    -e TESTLINK_DATABASE_USER=bn_testlink:传入数据库用户
    -e TESTLINK_DATABASE_PASSWORD=bn_testlink:传入数据库密码
    -e TESTLINK_DATABASE_NAME=bitnami_testlink:传入数据库名
    –net testlink:指定网络和数据库一个网络下
    -v ${PWD}/testlink:/bitnami :挂载一个目录
    bitnami/testlink:1.9.20:镜像的版本信息和名字

访问

浏览器内访问:http://你的IP地址:端口

  • 8080 和 8443 为 HTTP/HTTPS 访问端口。
  • 默认用户:user,默认密码:bitnami

配置java环境

yum install java
which java
ls -lr /usr/bin/java
ls -lrt /etc/alternatives/java
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre  
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile  
echo $JAVA_HOME
which java

部署jira

docker pull 16888888/jira:v1.0
docker pull 16888888/jira_mysql:v1.0

端口映射为宿主机8181端口映射jira容器8080端口,宿主机8182端口映射MySQL容器3306端口,有端口冲突更改容器端口映射:

docker start -it -d jira_mysql:v1.0
docker start -it -d jira:v1.0
docker pull atlassian/jira-software
mkdir -p /root/docker/jira_home
chmod 777 /root/docker/jira_home
docker network rm net_jira
docker network create net_jira
docker pull mysql:5.7
docker run -d -p 3307:3306 --name mysql_jira --privileged=true --net net_jira -v /var/lib/mysql:/var/lib/mysql -v /etc/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
vim /etc/mysql/conf.d/my.cnf
[mysqld]
sql_mode = NO_AUTO_VALUE_ON_ZERO
innodb_file_format=Barracuda
innodb_large_prefix=ON
innodb_default_row_format=DYNAMIC
character_set_server=utf8mb4
collation-server = utf8mb4_unicode_ci
default-storage-engine=INNODB
docker restart mysql_jiradocker exec -it mysql_jira bash
mysql -u root -p
123456
alter user 'root'@'localhost' identified by '123456'; 使用root登录
show variables like '%default_storage_engine%';
show variables like '%character_set_server%';
show variables like '%innodb_default_row_format%';
show variables like '%innodb_large_prefix%';
show variables like '%innodb_file_format%';
show variables like '%innodb_log_file_size%';
show variables like '%sql_mode%';
drop database jiradb; 删除数据库
create database jiradb character set utf8mb4 collate utf8mb4_bin; 创建数据库
grant select,insert,update,delete,create,drop,alter,index on jiradb.* to 'root'@'42.192.73.147' identified by '123456';
show grants for root@42.192.73.147;
flush privileges; 授权
show databases; 查看所有数据库
docker run -d -p 8069:8080 --name jira --privileged=true --net host -v /var/atlassian/application-data/jira:/var/atlassian/application-data/jira atlassian/jira-software

配置数据库驱动

yum install wget

  1. 下载驱动:
    wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.25.tar.gz
    tar -zxf mysql-connector-java-8.0.25.tar.gz
  2. 复制驱动到容器
    docker cp mysql-connector-java-8.0.25/mysql-connector-java-8.0.25.jar jira:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
    docker cp mysql-connector-java-8.0.25/mysql-connector-java-8.0.25.jar jira:/opt/atlassian/jira/lib
  3. 重启容器:
    docker exec -it jira bash
    chmod 777 /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/mysql-connector-java-8.0.25.jar
    chmod 777 /opt/atlassian/jira/lib/mysql-connector-java-8.0.25.jar
    exit
    docker restart jira
docker run -d -p 3306:3306 --name mysql_jira --restart always --privileged=true -u root -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7docker run -d -p 8083:8083 -p 8086:8086 --name=influxdb1 --restart=always --privileged=true -u root --network grafana influxdb:1.7.10
docker run -d -p 8083:8083 -p 8086:8086 --name=influxdb1 --restart always --privileged=true -u root influxdb:1.7.10
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"docker run -d -p 8080:8080 -p 50000:50000 --name jenkins1 --restart always --privileged=true -u root jenkins/jenkins

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/137310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么说软文推广中了解用户是关键?

数字化时代下软文成为众多企业推广品牌的方式之一,所谓软文,就是指以向用户提供信息,并将产品隐含在信息中的柔性手段。 想要使软文效果明显,就必须深入了解用户,把握其需求、兴趣和行为特点,这也是今天媒…

一篇文章教会你写一个贪吃蛇小游戏(纯C语言)

一篇文章教会你写一个贪吃蛇小游戏 1、游戏展示2、游戏功能3、Win32 API3.1 控制台程序3.2 控制台屏幕上的坐标COORD3.3 GetStdHandle函数3.4 GetConsoleCursorInfo函数3.4.1 CONSOLE_CURSOR_INFO结构体 3.5 SetConsoleCursorInfo函数3.6 SetConsoleCursorPosition函数3.7 GetA…

STM32-HAL库09-CAN通讯(loopback模式)

一、所用材料: STM32F103C6T6最小系统板 STM32CUBEMX(HAL库软件) MDK5 串口调试助手 二、所学内容: 初步学习如何使用STM32的CAN通讯功能,在本章节主要达到板内CAN通讯的效果,即32发送CAN信息再在CAN接收…

SpringBoot实现Excel导入导出

SpringBoot实现Excel导入导出 在我们平时工作中经常会遇到要操作Excel的功能,比如导出个用户信息或者订单信息的Excel报表。你肯定听说过 POI这个东西,可以实现。但是POI实现的API确实很麻烦,它需要写那种逐行解析的代码(类似Xm…

关于mac下pycharm旧版本没删除的情况下新版本2023安装之后闪退

先说结论,我用的app cleaner 重新删除的pycharm ,再重新安装即可。在此记录一下 之前安装的旧版的2020的pycharm,因为装不了新的插件,没办法就升级了。新装2023打开之后闪退,重启系统也不行,怀疑是一起破解…

3D全景技术,为我们打开全新宣传领域

随着科技的发展,3D全景技术正在融入我们的生活,这种全新视觉体验方式为我们打开了一扇全新的宣传领域,可以让我们多方位、多视角地探索各个行业,无论是对教育、商业、还是其他领域,都产生了深远的影响。 3D全景技术结合…

【每日一题】—— C. Anonymous Informant(Codeforces Round 908 (Div. 2))(思维题)

🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

Python基础入门----Python虚拟环境:为何要用虚拟环境、如何使用virtualenv

文章目录 在Python开发中,虚拟环境是一个独立的目录树,可以在其中安装Python模块。每个虚拟环境都有自己的Python二进制文件和一组安装的库。使用虚拟环境的主要原因是为了避免项目间的依赖冲突,允许每个项目有其特定的依赖,而不影响全局安装的模块。 为何要用虚拟环境 依…

三菱FX3U系列—原点回归指令

目录 一、简介 二、指令形式 1、原点指令[ZRN/DZRN] 2、带搜索的原点回归指令[DSZR] 三、回归指令运行过程 1、ZRN原点回归运行过程 2、带搜索的原点回归运行过程 四、特殊辅助继电器 五、特殊输出模块 六、总结 一、简介 用于将电机或伺服驱动器控制的轴回到预定的原…

Java枚举类的使用

说明: 根据设计图抽象的枚举类,一张模板背景图(会改变),二维码(传入参数生成),一个关闭的icon(固定不变) 设计图如下 枚举类 去除重复模板后共五个,根据需求编写枚举类如下,url则对应不同的模板,编写成后台人员的可配置项, public enum ImageTemplateEnum {PURCHASE("p…

【ES专题】ElasticSearch功能详解与原理剖析

目录 前言要点阅读对象阅读导航前置知识笔记正文一、ES数据预处理1.1 Ingest Node:摄入节点1.2 Ingest Pipeline:摄入管道1.3 Processor:预处理器——简单加工1.4 Painless Script:脚本——复杂加工1.5 简单实用案例 二、文档/数据…

springcloud二手交易平台系统源码

开发技术: 大等于jdk1.8,大于mysql5.5,idea(eclipse),nodejs,vscode(webstorm) springcloud springboot mybatis vue elementui mysql 功能介绍: 用户端&…

时间序列预测模型实战案例(十)(个人创新模型)通过堆叠CNN、GRU、LSTM实现多元预测和单元预测

本文介绍 本篇博客为大家讲解的是通过组堆叠CNN、GRU、LSTM个数,建立多元预测和单元预测的时间序列预测模型,其效果要比单用GRU、LSTM效果好的多,其结合了CNN的特征提取功能、GRU和LSTM用于处理数据中的时间依赖关系的功能。通过将它们组合在…

Java根据一个List内Object的两个字段去重

背景 在Java开发过程中,我们经常会遇到需要对List进行去重的需求。 其中常见的情况是,将数组去重,或者将对象依据某个字段去重。这两种方式均可用set属性进行处理。 今天讨论,有一个List,且其中的元素是自定义的对象&…

【VUE+ elementUI 实现动态表头渲染】

VUE elementUI 实现动态表头渲染 1、定义 columns(表头数据) 和 dataList(表格数据) data() {return {loading: false,dataList: [{ name: 张三, sex: 男, age: 18 },{ name: 林琳, sex: 女, age: 20 },{ name: 王五, sex: 男, …

数据分析-numpy

numpy numpy numpy简介优点下载ndarray的属性输出数据类型routines 函数ndarray对象的读写操作ndarray的级联和切分级联切分 ndarray的基本运算广播机制(Broadcast)ndarry的聚合操作数组元素的操作numpy 数学函数numpy 查找和排序 写在最后面 简介 nump…

ChatGPT:something went wrong

今天下午不知什么原因,ChatGPT无法使用。我原来在使用ChatGPT for chrome,返回了一个答案,后来在网页端无法使用,以为是这个chrome插件泄露API KEY导致的。注销账号,删除API KEY后,wrong问题仍然存在。 我…

API是什么?解密API背后的奥秘

API,全称Application Programming Interface,是一种用于不同应用程序间通信的接口,它允许不同的应用程序之间交换数据和功能。API可以理解为应用程序提供给其他应用程序或开发者的接口,通过这个接口,其他应用程序或开发…

PostgreSQL 技术内幕(十一)位图扫描

扫描算子在上层计算和底层存储之间,向下扫描底层存储的数据,向上作为计算的输入源,在SQL的执行层中,起着关键的作用。顺序、索引、位图等不同类型的扫描算子适配不同的数据分布场景。然而,扫描算子背后的实现原理是怎样…

【JavaEESpring】认识Spring

认识Spring 1. 什么是框架2. SpringBoot 介绍2.1 Spring 的介绍2.2 SpringBoot 1. 什么是框架 框架(Framework) ,意思是框架、机制、准则。通俗的来讲: 框架是实现某种功能的半成品, 他提供了⼀些常⽤的⼯具类, 我们在框架的基础上, 可以更加⾼效的进⾏开发 后端框…