docker_常见软件安装
官网:hub.docker.com
Docker中安装tomcat
docker search tomcat # 搜索镜像
docker pull tomcat #拉取镜像
docker images tomcat #查看拉取的镜像
docker run -it -p 8080:8080 tomcat # 运行tomcat,需要webApp.dist移动到webApp
docker pull billygoo/tomcat-jdk8 # 免修改版本
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8 # 运行免修改版,不用移动webApp
Docker中安装mysql5.7
docker iamges mysql:5.7 #查看镜像
#启动mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 进入MySQL
docker exec -it 容器id /bin/bash
mysql -uroot -p123456
# 进行创建表和查询测试
create database b1;
use b1;
create table t1(id int,name varchar(32));
insert into t1 values(1,"zhangsan"),(2,"lisi");
select * from t1;
问题
1.插入中文时报错:
排查:docker里面的mysql容器实例查看show variables like 'character%'
实战版本:
# 1.新建MySQL容器实例
docker run -d -p 3306:3306 --privileged=true
-v /ls/mysql/log:/var/log/mysql
-v /ls/mysql/data:/var/lib/mysql
-v /ls/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql
mysql:5.7
# 2.新建my.conf,通过容器卷同步给mysql容器实例
cd /ls/mysql/conf
touch my.cnf
vim my.cnf
#3. 输入下面内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
# 4.重启容器实例
docker restart mysql
安装redis
# 基本(无数据卷,无配置文件)
docker images redis redis:6.0.8
docker run -d -p 6379:6379 redis:6.0.8
dokcer exec -it 容器id /bin/bash
redis-cli
set k1 v1
get k1
# 常规
# 拉取镜像
docker pull redis:6.0.8
# 在CentOs宿主机下新建目录/app/redis
mkdir -p /app/redis
# 新建redis配置文件redis.conf并加入一个默认的redis配置文件
touch redis.conf #从下载的redis中复制一个到本地
# 允许redis本地连接,必须 注释掉 #bind 127.0.0.1
# 将daemonize yes注释起来或者daemonize no设置,因为该配置喝docker run 中-d参数冲突,会导致容器一直启动失败
# 开启redis数据持久化(可选项) appendonly yes 可选
# 使用redis6.0.8镜像创建容器(也叫运行镜像)
docker run -p 6379:6379 --name myr3 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf
# 证明docker启动使用了我们自己指定的配置文件
select 15 # 此时可以查询到
database 10 # 修改宿主机配置文件中的 database配置为10
docker restart myr3 #重启容器
## (error) ERR DB index is out of range 显示报错信息,说明配置文件同步成功