目录
安装docker
docker安装MySQL5.7.37
安装MySQL
方式一:docker中MySQL时区调整
方式二:docker中MySQL时区调整
docker安装MySQL8.0.27
docker安装redis5.0.14
云服务器上安装jdk1.8
安装docker
1、先卸载docker,因为有一些服务器上存在已经安装好的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果之前没有安装过,出现的内容如下:
2、执行安装yum-utils指令
sudo yum install -y yum-utils
3、配置docker的地址,就是指定repo所在地
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker,中途遇到的让你输入y/n的,都输入 y 就行。
sudo yum install docker-ce docker-ce-cli containerd.io
5、启动docker
sudo systemctl start docker
6、查看docker版本号
docker -v
查看目前有哪些镜像: docker images
说明目前是空的。
7、设置docker开机自动启动
systemctl enable docker
8、重启docker
sudo systemctl restart docker
9、配置阿里镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://e515yx9g.mirror.aliyuncs.com"]
}
EOF
10、重启docker后台运行线程以及重启容器服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
这样一来,后续拉取一些软件的镜像,就是从阿里云镜像中拉取的了,速度也会非常快。
11、其他指令
# 查看镜像
docker images
# 删除镜像
docker rmi 7614ae9453d1
或者是
docker rmi redis:latest
# 删除容器中的镜像
docker rm 容器id
docker安装MySQL5.7.37
安装MySQL
先拉取镜像:
docker pull mysql:5.7.37
然后这里估计需要等待很长一段时间,看自己网速。
安装完毕之后,使用docker images 查看镜像。
0、添加初始化配置文件:(这一步可用,可不用,看自己需求)
# 创建文件夹
mkdir -p /docker/mysql/conf
# 编辑/填加配置文件
vim /docker/mysql/conf/my.cnf
# 在配置文件中加入以下语句
[client]
default_character_set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
1、运行挂载MySQL:
docker run -p 3306:3306 \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
--name mysql \
-d mysql5.7.37
指令解释:
-
docker run: 运行一个容器,每个容器相互隔离,是独立的运行环境,是一个完整的实例。
-
-p 3306:3306:把mysql容器自己的端口映射到虚拟主机,这样我们才能访问,这是端口映射。(左侧是本地端口:右侧是docker容器里的端口)
-
–name mysql:为MySQL容器取名。
-
-v:文件路径的挂载。(数据库文件,日志,配置文件)
2、启动MySQL服务:docker start mysql
3、登录MySQL实例 或者是 直接使用navicat连接查看是否可以连接成功也行。
docker exec -it mysql /bin/bash # 进入MySQL实例
mysql -uroot -proot # 登录MySQL
方式一:docker中MySQL时区调整
注意:使用镜像安装的MySQL,可能MySQL的时区会与自己本地的时区不一致,所以需要自己检查一下,一般来说,可能会被上海时间慢8个小时。
1、先查看目前MySQL的时间,是否与本地电脑一致
# 查看MySQL的容器Id
docker ps
# 查看指定容器的当前时间,如果与上海时间一致,就不用管了,如果不一致的话,那就需要调整
docker exec -it 2刚刚查询出来的MySQL容器id date
2、查看宿主机的时间是否正确
timedatectl
发现宿主机的时区是正常的,所以我们就可以直接让MySQL的时间按照宿主机的时间来。
如果宿主机不是上海时区,那么就需要先调整宿主机的时区:使用 timedatectl 查看时区
使用指令修改为上海时区:
sudo timedatectl set-timezone Asia/Shanghai
再次查看宿主机的时区:timedatectl
3、调整MySQL的时区
# 进入MySQL容器中 mysql容器id可以使用 docker ps进行查询
docker exec -it MySQL容器id bash
# 使用 ln 命令创建时区链接,比如对于上海时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 退出容器
exit
# 重新查询MySQL容器的时间是否设置成功
docker exec -it mysql容器id date
# 然后再navicat中关闭这个数据库的连接,然后重新连接,然后就可以了
方式二:docker中MySQL时区调整
直接在容器启动的时候设置时区。
# 先查看MySQL的容器Id
docker ps
# 设置时区
docker run -e TZ=Asia/Shanghai MySQL容器id
# 停止MySQL容器
docker stop MySQL的容器Id或者是MySQL容器的名称
# 重新启动
docker start MySQL的容器Id或者是MySQL容器的名称
# 验证时区是否正确设置
docker exec -it MySQL的容器Id或者是MySQL容器的名称 date
docker安装MySQL8.0.27
1、docker pull mysql:8.0.27
2、检查镜像是否存在:docker images
3、创建准备挂载的文件夹,-p
选项,该选项的作用是当目录已经存在时不报错,而是以静默方式跳过。
mkdir /home/mysql8/log -p
mkdir /home/mysql8/data -p
mkdir /home/mysql8/conf -p
mkdir /home/mysql8/mysql-files -p
4、启动MySQL容器,这里自己指定自己的密码,我们就指定为 root就行。
docker run -p 3306:3306 --name mysql \
-v /home/mysql8/log:/var/log/mysql \
-v /home/mysql8/data:/var/lib/mysql \
-v /home/mysql8/conf:/etc/mysql \
-v /home/mysql8/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.27 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
5、修改MySQL的配置文件
vim /home/mysql8/conf/my.cnf
添加如下内容:
[client]
port=3306
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake # 忽略客户端的字符集,使用服务器的设置
6、重启MySQL容器
docker restart mysql
7、使用navicat进行连接MySQL
docker安装redis5.0.14
1、拉取镜像,提前创建配置文件,进行数据挂载
# 拉取指定版本的redis镜像
docker pull redis:5.0.14
# 提前创建配置redis配置文件存放处
mkdir -p /home/redis5.0.14/conf
touch /home/redis5.0.14/conf/redis.conf
# 执行redis数据挂载
docker run -p 6379:6379 --name redis \
-v /home/redis5.0.14/data:/data \
-v /home/redis5.0.14/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.14 \
redis-server /etc/redis/redis.conf
如图:
指令解释:
-
用6379做好端口映射,用redis作为服务容器的名字
-
data和conf做好目录映射
-
-d 后台运行
-
指定配置文件运行redis-server
2、修改redis.conf 这里的redis.conf的位置就是我们第一步创建的redis.conf的位置
vim /home/redis5.0.14/conf/redis.conf
目前redis.conf中配置为空,所以数据无法持久化,我们可以使用aof或者rdb来进行持久化。添加如下内容:root是我们设置的密码
requirepass root
appendonly yes
然后重新启动:docker restart redis
如果不小心都创建了一个实例,可以使用下面的方式进行删除:
3、为redis服务设置跟随docker重新启动:
docker update redis --restart=always
重新启动容器:systemctl restart docker
然后使用docker ps -a 查询容器中服务启动状态,看 status这个时间就知道了。
4、使用redis客户端进行连接测试
云服务器上安装jdk1.8
官网下载,但是需要有oracle账号才可以进行下载,或者是从其他地方获取到这个 jdk的Linux安装包也行。
Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java8
1、把下载好的jdk安装包上传到服务器上,自己选择一个文件夹上传.gz的jdk文件,比如你把jdk上传到 /user/java/ 文件夹下,然后你需要进入到/user/java/ 这个文件夹执行下面的解压指令,解压到指定的目录/home/jdk/
tar -zxvf jdk-8u341-linux-x64.tar.gz -C /home/jdk/
2、使用 which java 可以查看java可执行文件的路径,我们需要的是bin的上一级路径,/home/jdk/jdk1.8.0_341
3、配置环境变量
# 配置环境变量
vim /etc/profile #输入指令编辑etc/profile文件
# 向文本最后插入以下几行
export JAVA_HOME=/home/jdk/jdk1.8.0_341 # 刚刚使用which java获取到的bin的上级路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/Lib:${JRE_HOME}/Lib
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
# 保存这个profile文件 按esc进入指令模式 输入 :wq 然后回车进行保存,如果不想保存可以使用 q! 然后回车
# 刷新配置
source /etc/profile
3、# 测试是否安装成功 java -version