docker 安装redis,redis简单安装,runjar需要Build,执行任意jar包,nginx,tomcat,mysql

查看linux系统平均负荷:
        1. uptime load average后面的数字就是系统1分钟5分钟15分钟的平均负荷,0是空闲1是饱和
        [root@localhost ~]# uptime
        21:40:06 up  5:33,  1 user,  load average: 0.67, 0.24, 0.18   
        2. w 用法同上uptime
docker exec -it 7bb /bin/bash  //进入docker
----------redis-----------第一种
    启动docker
        systemctl start docker
    redis连接
        redis-cli -h 192.168.3.32 -p 6379
使用redis镜像执行redis-cli命令连接到刚启动的容器,主机IP为172.17.0.1
        docker run -it redis:3.2 redis-cli -h 172.17.0.1
            keys *    查看所有key
        
    1. mkdir -p docker/redis/{conf,data}    建目录
    2. redis.conf配置文件:
    **#redis开启守护进程,需要注释掉,不然容器无法跑起来**
        #daemonize yes
        dir /data
        logfile /data/redis.log  //日志目录
        protected-mode no    //yes时需要设置登录密码,no不用密码
        #注释掉,可以远程访问
        #bind 127.0.0.1
        #开启AOF
        appendonly yes
        requirepass 123        //设置redis密码
    3.  docker run -d --restart=always --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis-test redis redis-server /etc/redis/redis.conf --appendonly yes
    参数说明:
        --privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限 ?是否需要加此配置?不加也可以跑起来
        -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件
        -v /docker/redis/data:/data:映射数据目录
        redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
        --appendonly yes:开启数据持久化
----------redis end-----------
--------安装redis-------第二中 推荐
    1. redis配置文件/docker/redis/conf/redis.conf 配置文件里只有如下两行
        appendonly yes        //让数据持久化
        logfile /data/redis.log     //日志文件目录
    2. 创建启动容器
docker run -p 6379:6379 --name redis01 \
-v /docker/redis2/data:/data \
-v /docker/redis2/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
    
//链接redis,登陆redis容器
    docker exec -it my_redis redis-cli
//登陆redis后,修改密码:
    config set requirepass Meitianhui80232
    auth Meitianhui80232     //验证密码
--------安装redis end-------

------------runjarBuild 需生成镜像-------------------
    1. dockerfileBuild.txt 文件

# 基础镜像使用java
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD runjartest-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    2. /docker/runjar目录下存放: dockerfileBuild.txt  runjartest-0.0.1-SNAPSHOT.jar
    3. //生成镜像。-f指定docker文件的位置  -t 参数是指定此镜像的tag名
        docker build -t runjarbuild -f dockerfileBuild.txt .
    4. //生成cont 并启动
        docker run -d -p 8080:8080 runjarbuild
    访问成功 http://192.168.3.32:8080/test/sayHello?name=aaa3
------------runjarBuild 需生成镜像 end-------------------

------------执行任意jar包runjar-------------------推荐使用
    1. dockerfile文件:dockerfileRunjarLinux.txt

FROM java:8
RUN mkdir /jarAppDir/
ENTRYPOINT ["sh","-c","java -jar /jarAppDir/app.jar"]

    2. /docker/runjar目录下文件:
        dockerfileRunjarLinux.txt  runjartest-0.0.1-SNAPSHOT.jar
    3. 生成镜像,名称:runjar
        docker build -t runjar . -f dockerfileRunjarLinux.txt
    4. 生成容器,并启动
        //--name 容器的名称runjarc
        docker run -p 8080:8080 --name runjarc -d -v /docker/runjar/runjartest-0.0.1-SNAPSHOT.jar:/jarAppDir/app.jar runjar
    ------------执行任意jar包runjar end-------------------

    ---------安装nginx---------
    1. mkdir -p /docker/nginx/{conf,html,logs}
    2. 运行一个临时nginx,为了获取里面的nginx.conf
        docker run --name nginxtmp -p 81:80 -d nginx        
    3. 将容器里的nginx.conf拷贝到宿主机上。需在宿主机执行。
        docker cp c66f94c69c9f:/etc/nginx/nginx.conf /docker/nginx/conf/     
    4. 删除nginxtmp容器,
        docker stop nginxtmp   
        docker rm nginxtmp
    5. 运行带有配置文件映射的nginx         // 斜杠\是换行符
docker run --name nginx01 -p 81:80 \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/html:/usr/share/nginx/html \
-v /docker/nginx/logs:/var/log/nginx \
-d nginx
测试: 
    1. html目录中新建index.html文件
    2. http://192.168.3.32:81/
---------安装nginx end--------
--------安装tomcat-------
    webapps存放需要访问的文件
    1. mkdir -p /docker/tomcat/{conf,logs,webapps}
    2. docker run --name tomcat01 -p 8080:8080 -d tomcat:8
    3. 将tomcattmp容器里的配置文件拷贝到宿主机
        docker cp aee01e8d57ac:/usr/local/tomcat/conf/server.xml /docker/tomcat/conf/
        docker cp aee01e8d57ac:/usr/local/tomcat/conf/tomcat-users.xml /docker/tomcat/conf/
    4. 删除tomcattmp
        docker stop tomcattmp
        docker rm tomcattmp
    5.运行带有配置文件映射的tomcat
docker run --name tomcat01 -p 8080:8080 \
-v /docker/tomcat/webapps:/usr/local/tomcat/webapps \
-v /docker/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml \
-v /docker/tomcat/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml \
-v /docker/tomcat/logs:/usr/local/tomcat/logs \
-d tomcat:8
    测试1: http://192.168.3.32:8081/   //返回404
    测试2:1. cd /usr/loacl/tomcat/webapps.dist   //容器中执行
              cp -r * ../webapps   //-r递归拷贝,当前目录拷贝到webapps目录。
           2. http://192.168.3.32:8081/   //显示tomcat管理页面
--------安装tomcat end-------
--------安装mysql-------
    1.  mkdir -p /docker/mysql/{conf,log,data}
    2. mysql配置文件/docker/mysql/conf/my.cnf

[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES UTF8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
pid-file =/var/run/mysqld/mysqld.pid
socket   =/var/run/mysqld/mysqld.sock
datadir  =/var/lib/mysql
secure-file-priv=NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/

    3. 重建运行容器,默认密码root
docker run -p 3306:3306 --name mysql01 \
--restart=always \
-v /docker/mysql/log:/var/log/mysql \
-v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.19
--lower_case_table_names=1
注意:--lower_case_table_names=1要加在镜像名后面,镜像名前面是参数,后面是mysql配置,不然会报错
    4. 修改mysql远程登录
       docker exec -it  mysql /bin/bash
        mysql -u root -proot
        use mysql;
        select user,host,plugin from user;
        ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';  //修改密码后才能Navicat登陆
       // update user set host = '%' where user = 'root';  //不用执行,默认是可以远程连接
        flush privileges;
-----linux安装 mysql8------
1. docker run -p 3306:3306 --name mysql 
    -v /home/data/mysql:/var/lib/mysql     //持久化
    --restart=always     //自动启动
    -e MYSQL_ROOT_PASSWORD=123456         //默认密码
    -d mysql:8                         //mysql 8版本
    --lower_case_table_names=1        //忽略大小写
注意:--lower_case_table_names=1要加在镜像名后面,镜像名前面是参数,后面是mysql配置,不然会报错
2.修改密码类型为 mysql_native_password
docker exec -it  mysql /bin/bash
        mysql -u root -proot
        use mysql;
        select user,host,plugin from user;
        ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //修改密码后才能Navicat登陆
        ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; //也要执行
3. 查看是否忽略大小写
    show global variables like '%lower_case%';
        lower_case_table_names
            1 为忽略大小写
        lower_case_file_system
            ON  大小写不敏感 //
            OFF 大小写敏感   //我的是off,一样忽略大小写。
-----linux安装 mysql8 end------
--------安装mysql end-------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值