zoukankan      html  css  js  c++  java
  • Docker 安装并部署Tomcat、Mysql8、Redis

    1.  安装前检查

     1 #ContOS 7安装Docker系统为64位,内核版本为3.10+
     2 lsb_release -a
     3 
     4 uname -r
     5 
     6 #更新yum源
     7 yum -y update
     8 
     9 #查看是否已经安装Docker
    10 yum list installed | grep docker
    11 
    12 #若存在Dcoker,则移除
    13 yum remove docker*

    2.  安装Docker

     1 #yum源安装
     2 yum -y install docker
     3 
     4 #启动、停止、重启Docker,并查询状态
     5 service docker start
     6 service docker stop
     7 service docker restart
     8 service docker status
     9 
    10 #或者
    11 systemctl start docker
    12 systemctl stop docker
    13 systemctl restart docker
    14 systemctl status docker
    15 
    16 #查看Docker系统信息
    17 docker info
    18 
    19 #查看Docker版本
    20 docker version
    21 
    22 #查看镜像
    23 docker images
    24 
    25 #删除镜像
    26 docker rmi [IMAGE ID]/[REPOSITORY]
    27 
    28 #列出容器
    29 docker ps
    30 
    31 #显示所有的容器,包括未运行的
    32 docker ps -a
    33 
    34 #列出最近创建的5个容器信息
    35 docker ps -n 5 
    36 
    37 #删除容器
    38 docker rm -f [CONTAINER ID]/[NAMES]
    39 
    40 #查看日志
    41 #-t 显示时间戳
    42 #-f 跟踪显示日志
    43 #--tail 末尾行数,默认全部
    44 #--since 指定开始时间,如:30m "2020-05-22"
    45 docker logs -t -f [CONTAINER ID]/[NAMES]
    46 docker logs -t -f --tail=100 --since=30m [CONTAINER ID]/[NAMES]
    47 docker logs -t -f --tail=100 --since="2020-05-22" [CONTAINER ID]/[NAMES]
    48 
    49 #查看容器详细信息
    50 docker inspect [CONTAINER ID]/[NAMES]

    3.  安装Tomcat

     1 #搜索Tomcat
     2 docker search tomcat
     3 
     4 #拉取镜像,拉取最新版本
     5 docker pull tomcat
     6 
     7 #拉取镜像,并指定版本
     8 docker pull tomcat:8.5.4
     9 
    10 #查看镜像
    11 docker images
    12 
    13 #运行镜像并制定宿主机端口映射(临时启动)
    14 docker run -p 8080:8080 tomcat:8.5.4
    15 #运行镜像并制定宿主机端口映射(后台启动)
    16 #-d : 后台运行
    17 docker run -d -p 8080:8080 tomcat:8.5.4
    18 
    19 #部署项目
    20 #创建本地文件夹
    21 mkdir /usr/local/tomcat
    22 mkdir /usr/local/tomcat/webapps
    23 
    24 #上传项目[helloworld.war]到此路径,并运行镜像
    25 #--name : 容器名称
    26 #--privileged=true : 授权
    27 #-p : 宿主机端口映射
    28 #-v : 挂载宿主机目录
    29 #-d : 后台启动
    30 docker run --name=tomcat8.5.4 --privileged=true -p 8080:8080 -v /usr/local/tomcat/webapps/hellowrold.war:/usr/local/tomcat/webapps/hellowrold.war -d tomcat:8.5.4
    31 
    32 #启动、停止容器
    33 docker ps
    34 docker start [CONTAINER ID]/[NAMES]
    35 docker stop [CONTAINER ID]/[NAMES]

    4.  安装Mysql

     1 #搜索Mysql
     2 docker search mysql
     3 
     4 #拉取镜像
     5 docker pull mysql
     6 
     7 #创建容器
     8 #-e : 传递环境变量
     9 #MYSQL_ROOT_PASSWORD : root用户密码
    10 #--lower_case_table_names=1 : 忽略表名大小写
    11 docker run --name=mysql --privileged=true -p 3306:3306 -v /usr/local/src/mysql/data:/var/lib/mysql -v /usr/local/src/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=3edc#EDC -d mysql --lower_case_table_names=1
    12 
    13 #删除/usr/local/src/mysql/conf/my.cnf
    14 cd /usr/local/src/mysql/conf/
    15 rm -rf my.cnf/
    16 
    17 #创建文件my.cnf
    18 touch my.cnf
    19 
    20 #编辑文件
    21 vi my.cnf
    22 
    23 #插入内容并保存
    24 [client]
    25 default-character-set=utf8mb4
    26  
    27 [mysql]
    28 default-character-set=utf8mb4
    29  
    30 [mysqld]
    31 pid-file        = /var/run/mysqld/mysqld.pid
    32 socket          = /var/run/mysqld/mysqld.sock
    33 datadir         = /var/lib/mysql
    34 secure-file-priv= NULL
    35 # Disabling symbolic-links is recommended to prevent assorted security risks
    36 symbolic-links=0
    37 max_connections=10000
    38 default-time_zone='+8:00'
    39 character-set-client-handshake=FALSE
    40 character_set_server=utf8mb4
    41 collation-server=utf8mb4_unicode_ci
    42 init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
    43 # Custom config should go here
    44 !includedir /etc/mysql/conf.d/
    45 
    46 #启动mysql容器
    47 docker start mysql
    48 
    49 #查询启动容器
    50 docker ps
    51 
    52 #修改root用户密码和权限
    53 #交互式进入容器
    54 docker exec -it mysql /bin/bash
    55 
    56 #进入mysql,输入上边创建容器时指定的密码[3edc#EDC]
    57 mysql -uroot -p
    58 
    59 #修改root密码
    60 alter user 'root'@'localhost' identified with mysql_native_password by 'new password';
    61 
    62 #修改root权限
    63 use mysql;
    64 update user set host ='%' where user='root';
    65 alter user 'root'@'%' identified with mysql_native_password by 'new password';
    66 flush privileges;
    67 quit
    68 
    69 #退出交互
    70 exit
    71 
    72 #使用navicat远程登录
    73 
    74 #备份数据库
    75 docker exec -it mysql mysqldump -uroot -p[password] [dbname] > /tmp/[dbname].bak.sql
    76 
    77 #还原数据库
    78 docker exec -i mysql mysql -uroot -p[password] [dbname] < /tmp/[dbname].bak.sql

    5.  安装Redis

     1 #查询镜像
     2 docker search redis
     3 
     4 #拉取镜像
     5 docker pull redis
     6 
     7 #运行镜像
     8 #--requirepass "123456" : 密码
     9 #--appendonly=yes : 开启持久化
    10 docker run --name=redis-server --privileged=true -p 6379:6379 -v /usr/local/redis/data:/data -d redis --requirepass="123456" --appendonly=yes
    11 
    12 #进入Redis客户端
    13 docker exec -it redis-server redis-cli
    14 
    15 #输入密码
    16 auth 123456
    17 
    18 #测试
    19 set key1 helloworld
    20 get key1
  • 相关阅读:
    分组PARTITION BY及游标CURSOR的用法
    dotnet core 3.1+consul 学习(1)
    常用状态码
    docker 安装consul以及部署consul集群
    泛型
    redis面试题(1)
    asp net core 3.1启动过程源码解读
    .net core 2.x到3.x变化 -> Endpoint Routing
    jwt登录验证逻辑
    .Net Core3.1+Jenkins+Docker+Git实现自动化部署
  • 原文地址:https://www.cnblogs.com/cao-lei/p/12938806.html
Copyright © 2011-2022 走看看