docker中tomcat/mysql/redis安装与启动

docker中tomcat/mysql/redis安装与启动

  • tomcat
  • mysql
  • redis

tomcat

  • 建议使用tomcat8
[root@localhost ~]# docker pull tomcat:8.0.18-jre8
  • 高版本tomcat无法访问localhost:8080解决方案
  • 删除webapps
  • 将webapps.dist改名为webapps
root@79f8d8d24ced:/usr/local/tomcat# rm -rf webapps
root@79f8d8d24ced:/usr/local/tomcat# mv webapps.dist webapps
  • 启动
[root@localhost ~]# docker run -d -p 8080:8080 tomcat:8.0.18-jre8 

mysql

  • 查看是否已经启动mysql服务
[root@localhost ~]# ps -ef|grep mysql
root       9357   9256  0 19:35 pts/3    00:00:00 grep --color=auto mysql
  • 挂载容器卷,防止数据丢失
[root@localhost ~]# docker run -d -p 3306:3306 --privileged=true 
                   -v /chet/mysql/log:/var/log/mysql 
                   -v /chet/mysql/data:/var/lib/mysql 
                   -v /chet/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root mysql
  • 启动
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
c28bc2c70c0d   mysql                "docker-entrypoint.s…"   50 seconds ago   Up 49 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   vigorous_payne
7a0bbae8288d   tomcat:8.0.18-jre8   "catalina.sh run"        26 hours ago     Up 26 hours     0.0.0.0:8080->8080/tcp, :::8080->8080/tcp              strange_ellis
b21ce3d73a58   ubuntu               "bash"                   2 days ago       Up 2 days                                                              u1
[root@localhost ~]# docker exec -it vigorous_payne /bin/bash
root@c28bc2c70c0d:/# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  • 查看当前数据库字符集
mysql> show variables like 'character_set_%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | latin1                         |
| character_set_connection | latin1                         |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | latin1                         |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8mb3                        |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
  • 修改字符集,防止中文乱码
  • 主机上指定容器卷目录下新建my.cnf,此时目录为/chet/mysql/conf
  • 修改文件内容
[client]
default_character_set=utf8mb4
[mysqld]
character-set-server=utf8mb4
  • 重启MySQL容器
  • 查看字符集
mysql> show variables like 'character_set_%';
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8mb4                        |
| character_set_connection | utf8mb4                        |
| character_set_database   | utf8mb4                        |
| character_set_filesystem | binary                         |
| character_set_results    | utf8mb4                        |
| character_set_server     | utf8mb4                        |
| character_set_system     | utf8mb3                        |
| character_sets_dir       | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
  • 修改成功

redis

  • 宿主机创建redis.conf
  • 注意:粘贴对应版本的redis.conf文件
  • 修改参数
# bind 127.0.0.1 -::1
protected-mode yes
daemonize no
  • 启动redis
 docker run -d -p 6379:6379 --privileged=true  --name r1 -v /redis/redis.conf:/etc/redis/redis.conf -v /redis/data:/data  redis redis-server /etc/redis/redis.conf
  • 若启动失败
  • docker logs r1
  • 查看问题日志

你可能感兴趣的:(运维,docker,tomcat,mysql)