zl程序教程

您现在的位置是:首页 >  Java

当前栏目

centos配置docker环境

2023-02-18 16:30:45 时间

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=1mkdir -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.7MySQL默认的数据存储目录 /var/lib/mysql MySQL(5.7.19)的默认配置文件是 /etc/mysql/my.cnf 文件 建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件
  • 配置5.7版本
  • --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 123456use 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部署mariadbdocker 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:挂载目录
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_jira

docker 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.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

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