Docker常用软件安装

  • 1、安装软件的总体步骤
  • 2、安装Tomcat
  • 2.1、从[docker hub](https://hub.docker.com/)上面查找tomcat
  • 2.2、将tomcat镜像拉取下来
  • 2.3、查看是否拉取到了tomcat镜像
  • 2.4、使用tomcat镜像创建容器实例(也叫运行实例)
  • 2.5、访问tomcat首页
  • 2.5.1、出现报错
  • 2.5.2、原因
  • 2.5.3、解决
  • 2.5.4、修改完之后再次访问tomcat
  • 2.6、下载免修改版tomcat
  • 2.6.1、首先删除之前的tomcat10
  • 2.6.2、下载tomcat8
  • 3、安装mysql
  • 3.1、docker hub上面查找mysql
  • 3.2、拉取mysql镜像到本地
  • 3.3、使用mysql5.7镜像创建容器(也叫运行镜像)
  • 3.4、测试用win10物理机上的navicat连接容器内的mysql
  • 3.5、问题
  • 3.5.1、无法完数据库中插入中文
  • 3.5.2、docker中mysql数据丢失
  • 3.6、解决问题
  • 3.6.1、首先删除之前创建的mysql
  • 3.6.2、重新安装mysql
  • 3.6.3、总结
  • 4、docker安装redis
  • 4.1、拉取redis镜像
  • 4.2、docker入门级别的redis命令
  • 4.2.1、启动redis
  • 4.2.2、进入redis实例
  • 4.2.3、删掉刚刚入门级别启动的redis
  • 4.3、建议版redis安装
  • 4.3.1、首先在宿主机上新建文件夹,用于存放配置文件
  • 4.3.2、拷贝一个外部以前的redis配置文件到上述文件夹下
  • 4.3.3、修改宿主主机/temp/redis下的redis.conf配置文件
  • 4.3.4、使用redis镜像创建容器(也叫运行镜像)
  • 4.3.5、连接刚刚启动的redis
  • 4.3.6、二次连接redis


1、安装软件的总体步骤

  • 搜索镜像
  • 拉取镜像
  • 查看镜像
  • 启动容器
  • 停止容器
  • 移除容器

2、安装Tomcat

2.1、从docker hub上面查找tomcat

docker对软件的要求 docker必装软件_tomcat

2.2、将tomcat镜像拉取下来

docker对软件的要求 docker必装软件_docker对软件的要求_02

docker pull tomcat

docker对软件的要求 docker必装软件_docker_03

2.3、查看是否拉取到了tomcat镜像

docker images tomcat

docker对软件的要求 docker必装软件_tomcat_04

2.4、使用tomcat镜像创建容器实例(也叫运行实例)

docker run -d -p 8080:8080 tomcat

docker对软件的要求 docker必装软件_mysql_05

docker对软件的要求 docker必装软件_tomcat_06

如果使用-P,会随机分配端口

docker对软件的要求 docker必装软件_docker对软件的要求_07

2.5、访问tomcat首页

2.5.1、出现报错

docker对软件的要求 docker必装软件_java_08

2.5.2、原因

  • 可能是没有端口映射或没有关闭防火墙
  • 把webapps.dist目录换成webapps

2.5.3、解决

#首先删除/usr/local/tomcat目录下的webapps
rm -f webapps

#将usr/local/tomcat下的webapps.dist 重新命名为webapps
mv webapps.dist  webapps

docker对软件的要求 docker必装软件_docker对软件的要求_09

2.5.4、修改完之后再次访问tomcat

docker对软件的要求 docker必装软件_java_10

2.6、下载免修改版tomcat

由于docker中下载最新版本tomcat(10.0.14),webapps目录下没有文件夹,需要把webapps.dist文件夹下的目录复制到webapps下,比较麻烦,所以我们可以下载tomcat8,这样就不用再做上述tomcat10的复制操作。

2.6.1、首先删除之前的tomcat10

docker ps

docker stop t1

docker rm -f t1

docker对软件的要求 docker必装软件_docker_11

2.6.2、下载tomcat8

docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

docker对软件的要求 docker必装软件_tomcat_12


docker对软件的要求 docker必装软件_mysql_13


docker对软件的要求 docker必装软件_docker_14

3、安装mysql

docker对软件的要求 docker必装软件_java_15

3.1、docker hub上面查找mysql

docker对软件的要求 docker必装软件_docker_16

3.2、拉取mysql镜像到本地

docker pull mysql:5.7

3.3、使用mysql5.7镜像创建容器(也叫运行镜像)

# 启动mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

# 查看mysql容器是否启动
docker ps

#运行mysql
docker exec -it mysql容器ID /bin/bash

# 进入mysql
mysql -uroot -p

docker对软件的要求 docker必装软件_java_17

docker对软件的要求 docker必装软件_docker对软件的要求_18

3.4、测试用win10物理机上的navicat连接容器内的mysql

docker对软件的要求 docker必装软件_tomcat_19


docker对软件的要求 docker必装软件_docker_20

3.5、问题

docker对软件的要求 docker必装软件_tomcat_21

3.5.1、无法完数据库中插入中文

docker对软件的要求 docker必装软件_tomcat_22

  • 查看docker中mysql的默认字符编码
show variables like 'character%';

docker对软件的要求 docker必装软件_docker对软件的要求_23

3.5.2、docker中mysql数据丢失

3.6、解决问题

docker对软件的要求 docker必装软件_java_24

3.6.1、首先删除之前创建的mysql

docker rm -f mysql容器ID

docker对软件的要求 docker必装软件_docker_25

3.6.2、重新安装mysql

# 重现安装mysql的命令
docker run -d -p 3306:3306 --privileged=true -v /temp/mysql/log:/var/log/mysql -v /temp/mysql/data:/var/lib/mysql -v /temp/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7

#进入到宿主主机对应文件夹下
cd  /temp/mysql/conf

#创建配置文件
vim my.cnf

#查看配置文件内容
cat my.cnf

#重新启动mysql
docker restart mysql

#启动并登录mysql
docker exec -it mysql /bin/bash
mysql -uroot -p

#插看容器的mysql字符集(已修改为utf8)
show variables like 'character%';

docker对软件的要求 docker必装软件_mysql_26

docker对软件的要求 docker必装软件_docker_27

docker对软件的要求 docker必装软件_docker对软件的要求_28

  • mysql配置文件内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

3.6.3、总结

docker对软件的要求 docker必装软件_tomcat_29

4、docker安装redis

  • 简易版安装参考4.1、4.2
  • 建议版安装参考4.1、4.3及往后
  • docker对软件的要求 docker必装软件_mysql_30

4.1、拉取redis镜像

docker pull redis:6.0.8

4.2、docker入门级别的redis命令

4.2.1、启动redis

docker run -d -p 6379:6379 redis:6.0.8

由于我的虚拟机中redis已经启动,占用了6379端口号。所以此处docker中我映射6380端口。

docker对软件的要求 docker必装软件_docker对软件的要求_31

4.2.2、进入redis实例

docker exec-it 容器ID /bin/bash

docker对软件的要求 docker必装软件_mysql_32


尝试连接redis:

docker对软件的要求 docker必装软件_docker_33

4.2.3、删掉刚刚入门级别启动的redis

#首先查看启动的docker容器
docker ps
#删除指定的容器
docker rm -f 容器ID
#再次查看,发下没有正在运行的容器
docker ps

4.3、建议版redis安装

4.3.1、首先在宿主机上新建文件夹,用于存放配置文件

mkdir -p /temp/redis

4.3.2、拷贝一个外部以前的redis配置文件到上述文件夹下

# 首先查看本虚拟机是否运行有redis,如果有会显示redis安装位置
ps aux|grep redis

docker对软件的要求 docker必装软件_docker对软件的要求_34

docker对软件的要求 docker必装软件_mysql_35

4.3.3、修改宿主主机/temp/redis下的redis.conf配置文件

  • 修改redis密码(requirepass)
  • 允许redis外部连接(bind)
  • 启动的配置(daemonize no)
  • redis数据持久化(appendonly)

docker对软件的要求 docker必装软件_mysql_36

docker对软件的要求 docker必装软件_docker_37

4.3.4、使用redis镜像创建容器(也叫运行镜像)

docker run -p 6380:6380 --name myredis1 --privileged=true -v /temp/redis/redis.conf:/etc/redis/redis.conf -v /temp/redis/data:/data -d redis redis-server /etc/redis/redis.conf

docker对软件的要求 docker必装软件_tomcat_38

docker对软件的要求 docker必装软件_docker对软件的要求_39

docker对软件的要求 docker必装软件_tomcat_40

4.3.5、连接刚刚启动的redis

docker exec -it myredis1 /bin/bash

docker对软件的要求 docker必装软件_docker对软件的要求_41


docker对软件的要求 docker必装软件_docker_42

4.3.6、二次连接redis

docker对软件的要求 docker必装软件_mysql_43

docker对软件的要求 docker必装软件_tomcat_44