文章目录
1.安装docker(Ubuntu)
在docker hub上有很多的软件 ,有很多官方、个人镜像,找到镜像,就可以使用docker安装了,每个容器都是当前软件的完全运行环境,容器之间完全隔离。
https://hub.docker.com/
Docker官网下载Docker实在太慢怎么破!!!!安装docker
:http://get.daocloud.io/
看的鼓励商城的官方安装方式:https://docs.docker.com/engine/install/ubuntu/
查看Linux内核版本:cat /proc/version
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
选择amd
echo \
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker#这句话官网上没有
sudo docker run hello-world
sudo systemctl enable docker #设置开机自启动,我没有设置
docker -v #查看版本
0.mysql、redis放到/mydata路径下
0.1 如何查看运行在 docker 容器中的 redis 版本?
docker exec -it your-redis-container-name-or-id redis-server -v
1.centos安装docker
2.docker安装mysql5.7
谷粒商城:https://blog.csdn.net/a2522827931/article/details/106034598/
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
-v表示目录挂载
-d 表示以这个镜像启动一个容器
-p 表示端口映射,第一个3306是linux系统的3306端口,第二个3306端口是mysql容器的3306端口
–name 表示新创建的容器名称
-v 目录挂载,后面的目录是mysql容器目录,前面目录是Linux系统中的mysql目录,将容器的/var/log/mysql挂载到 /mydata/mysql/log,相当于一个快捷方式。
第一个/var/log/mysql是日志文件
第二个/var/lib/mysql将数据库的持久化文件,备份,在这个目录
第三个/etc/mysql是mysql的配置信息
docker ps #查看运行中的容器
docker exec -it mysql-node3306/containerid /bin/bash #进入容器内部,相当于进入了另一个Linux系统
ls / #可查看包含一个linux所有目录,并且cd到/var/log/mysql可观察看mysql日志
exit #退出mysql容器
cd /mydata/mysql/log #可观察到相同的信息
修改mysql的配置文件
编辑配置文件
vi /mydata/mysql/conf/my.cnf
粘贴到配置文件
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重启
docker restart mysql
2.使用Docker在本地启动3个MySQL镜像
:https://blog.csdn.net/elong490/article/details/107528990
3.docker安装redis6.2.5
创建配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
启动容器
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
运行redis
docker exec -it redis redis-cli
开启 aof 持久化
vi /mydata/redis/conf/redis.conf
添加如下内容
appendonly yes
重启redis
docker restart redis
查看redis容器版本:
docker exec -it your-redis-container-name-or-id redis-server -v
更多配置参考:https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf:
设置Docker启动服务启动
docker update mysql --restart=always
docker update redis --restart=always
4.docker中容器查看、删除
https://blog.csdn.net/weixin_44355591/article/details/107876009
查看所有容器
docker ps -a
启动容器
docker start + CONTAINER ID (容器ID)
进入容器
docker attach ID (或自定义名字)
重启容器
docker restart + CONTAINER ID (容器ID)
停止容器
有“弱停止”和强制停止,形象来说,就是一个电脑正常关机,另一个直接拔掉电源,分别对应命令:
docker stop 容器ID 和 docker kill 容器ID,不再演示
删除容器
删除也分两种情况,一种是容器在退出状态下的删除,还有一种是容器在运行状态下的删除.他们分别对应命令: docker rm 容器ID 和 docker rm -f 容器ID不再演示
5.docker中的镜像查看、删除
查看所有镜像
docker images
https://blog.csdn.net/miolove2000/article/details/94740485
首先停止掉所有的容器,然后删除镜像
docker rmi IMAGE ID
#比如要删除php
docker rmi 36c3c974e6ee
如果要删除没有标签id为image的镜像的话:
docker rmi $(docker images | grep “^” | awk “{print $3}”)
6.查看容器挂载目录
docker inspect container_name | grep Mounts -A 20
7.docker安装rabbitmq:management
在docker上部署启动RabbitMQ及使用:https://blog.csdn.net/weixin_39617052/article/details/79723849
RabbitMQ系列(五)使用Docker部署RabbitMQ集群:https://www.cnblogs.com/vipstone/p/9362388.html
rabbitmq学习笔记2 : 添加用户和virtual hosts:https://blog.csdn.net/chenshourui/article/details/81203770
docker pull rabbitmq:management
安装运行
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
docker run -d --name rabbitmq02 -p 5673:5671 -p 5674:5672 -p 4370:4369 -p 25673:25672 -p 15673:15671 -p 15674:15672 -v /mydata/rabbitmq/data:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.8.1-management
更改配置 rabbitmq自动重启
docker update rabbitmq --restart=always
访问rabbitmq,打开浏览器
http://1.116.227.161:15672/
账号:guest
密码: guest
想把老的rabbitmq的配置迁移到新的rabbit上面,则使用export和import
9、安装jdk8
Docker配置JDK1.8:https://www.cnblogs.com/coloz/p/11121311.html
腾讯云安装JDK1.8:https://cloud.tencent.com/developer/video/19571
我安装的JDK1.8:
在腾讯云服务器上安装JDK+Tomcat并启动tomcat:https://www.cnblogs.com/yuanchao-blog/p/11038962.html
yum install java-1.8.0-openjdk java-1.8.0openjdk-devel
# set java env
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
上面的卸载了;
linux安装jdk8:https://blog.csdn.net/pdsu161530247/article/details/81582980
下载Linux环境下的jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
目前在官网下载低于jdk1.8的java jdk的时候需要登陆,这边分享一个账号,方便下载 账号:2696671285@qq.com
密码:Oracle123
账号提供者:https://blog.csdn.net/WNsshssm/article/details/84315519
配置环境变量
LINUX中JDK的安装及卸载:https://blog.csdn.net/zou1072585763/article/details/80401717
卸载JDK:https://www.cnblogs.com/peachh/p/13698140.html
9.安装Nocas
tar -zxvf 压缩文件名.tar.gz
Nacos
本项目使用了Nacos作为服务的注册中心,所以我们需要下载Nacos,下载地址:https://github.com/alibaba/nacos/releases/tag/1.4.0,网页拉到底部:
下载完成后将其上传至CentOS7,并启动(在Nacos的bin目录下启动):
cd nacos
cd bin
./startup.sh -m standalone
Nacos的启动需要JDK的支持,所以你的CentOS7中必须有JDK的环境,至于JDK的环境在这里就不赘述了。
配置JDK环境,配置JAVA_HOME就可以了。
出现问题1:启动时,出现启动失败,JVM内存不足
https://www.cnblogs.com/wangxc20181130/p/13937741.html
3.修改/nacos/bin下的startup.sh 启动脚本
默认是512 ,我修改为256后还是不可以,最后修改为128才可以。