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版本
python 复制代码
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版本
python 复制代码
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';

  • 连接数据库

python 复制代码
docker exec -it mysql1 bash
docker exec -it mysql2 bash
mysql -u root -p  连接Mysql
123456
  • 使用数据库

    use mysql;

  • 添加用户

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

  • 数据库常用命令

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

python 复制代码
docker pull bitnami/mariadb:latest
docker pull bitnami/testlink:latest
mkdir -p /root/docker/testlink_home
chmod 777 /root/docker/testlink_home

部署数据库

python 复制代码
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:挂载目录
复制代码
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环境

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

docker exec -it mysql_jira bash
mysql -u root -p
123456
alter user 'root'@'localhost' identified by '123456'; 使用root登录
python 复制代码
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
python 复制代码
docker run -d -p 3306:3306 --name mysql_jira --restart always --privileged=true -u root -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

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

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

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

相关推荐
2035去旅行8 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1238 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡9 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.12 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道13 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.16 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落17 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨17 小时前
WSL2的安装与使用
linux·wsl
微小的鱼17 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng18 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器