CENTOS7.5安装docker:
1、由于docker是必须在内核版本在3.1以上的linux系统上安装;
uname -r :查看当前linux的的内核版本;
2、yum install docker -y :在根目录执行安装docker命令;
3、docker -v :查看docker的版本号;
4、systemctl start docker :启动docker;
5、systemctl stop docker :停止docker;
6、systemctl enable docker :将docker安装设置为开机启动;
7、docker search mysql :搜索MySQL镜像;
8、docker pull mysql :从docker的公共仓库中拉取MySQL的默认镜像;
9、docker images :查看当前docker中是否安装了哪些镜像;
10、docker rmi (images ID) :删除镜像(镜像ID);
11、docker ps :查看安装并启动的镜像;
12、docker ps -a :查看所有的已启动的镜像实例;
13、删除一个镜像实例时,必须停止要删除的镜像实例: docker rm (images id(镜像实例的ID))
14、启动一个镜像实例:docker run --name 指定的实例名称
15、启动一个完成端口映射的镜像实例:docker run -d(标识后台运行) -p(指定映射的端口号(主机端口号:容器内部端口号))
(mysql(必填指的是容器的REPOSITORY(docker images命令查出来的第一列)))
16、查看正在运行的镜像实例日志:docker logs mysql ;
实时查看日志:docker logs -f mysql(容器运行的ID)
17、docker上启动MySQL镜像实例:docker run --name MySQL3306 -e MYSQL_ROOT_PASSWORD=1234567 -d mysql
18、docker上启动带映射的MySQL镜像实例:docker run -p 3307:3306 --name MySQL3306 -e MYSQL_ROOT_PASSWORD=1234567 -d mysql
1、docker上启动带映射并设置字符集的MySQL镜像实例:
命令行:
docker run -p 3308:3306 --name mysql3308 -e MYSQL_ROOT_PASSWORD=1234567 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
#进入MySQL镜像实例容器中
docker exec -it MySQL3306(镜像名称) bash
docker exec -it 55b1faff3521 bash
#退出容器:
exit;
#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';
客户端在使用root连接的时候会出现:client does not support authentication protocol requested by server;consider upgrading mysql client
#添加远程登录用户
CREATE USER 'qjyn1314'@'%' IDENTIFIED WITH mysql_native_password BY '1234567';
GRANT ALL PRIVILEGES ON *.* TO 'qjyn1314'@'%';
#程序中的应用是:
IP地址是公网的IP地址
#账号分别是
root:1234567
qjyn1314:1234567
#程序在链接数据库(docker默认安装的是mysql最新版本)时出现的问题:
1、Could not retrieve transation read-only status server
解决:
将pom文件中的MySQL链接的的驱动换成Maven仓库中最新版本,
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
2、在MySQL5.7之后默认不开启,group by的函数的问题:
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
2、docker安装jenkins
#搜索jenkins
docker search jenkins
#拉取jenkins镜像
docker pull jenkins
#创建主机的jenkins文件存储路径
mkdir /usr/local/jenkins
#运行带映射端口的jenkins,并指定文件配置路径
docker run -p 8080:8080 -p 50000:50000 -v /usr/local/jenkins:/var/jenkins_home -d jenkins
docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v /usr/local/jenkins/data:/var/jenkins_home jenkins
#查看是否启动成功
docker ps -a
#查看日志
docker logs jenkins的启动后的容器ID
#得到密码
Please use the following password to proceed to installation:
d406a25e9e2c49b4ad42a9205cedba80 #此字符串为jenkins的admin密码;
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
然后紧接着进行操作。
3、docker安装redis
#搜索redis
docker search redis
#拉取redis
docker pull redis
#运行带参数的redis,并指定密码
docker run --name redis6666 -p 6666:6379 -d redis --requirepass "1234567"
#查看运行成功的redis
docker ps -a
程序中应用的:ip地址是,服务器的公网ip,端口号是6666。
4、docker安装单个的zookeeper
#搜索zookeeper
docker search zookeeper
#拉取zookeeper
docker pull zookeeper
#运行带参数的zookeeper
docker run --name zookeeper4181 --restart always -p 4181:2181 -d zookeeper
docker run --name zookeeper4182 --restart always -p 4182:2181 -d zookeeper
docker run --name zookeeper4183 --restart always -p 4183:2181 -d zookeeper
程序中的使用:dubbo配置文件中的ip地址以及端口号是:47.104.78.100:4181
这样只能用于测试环境,
5、docker安装rabbit
#搜索rabbit
docker search rabbit
#拉取rabbit
docker pull rabbit
#运行带参数的rabbit
docker run -d --hostname my-rabbit5672 --name rabbit5672 -p 5672:5672 rabbitmq
#查看实时日志:docker logs -f 正在运行的容器ID
47.104.78.100:5672
docker安装带管理页面的rabbitmq(rabbitmq:management)
#搜索rabbitmq:management
docker search rabbitmq:management
#拉取rabbitmq:management
docker pull rabbitmq:management
#运行带管理界面的rabbitmq:management
docker run -d --name rabbitmqAndManager --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --publish 5674:25672 --publish 5675:15671 --publish 5676:15672 rabbitmq:management
#访问管理页面:
47.104.78.100:5676 即可打开rabbitmq的管理页面
默认的登录账户密码:guest:guest
1、创建一个admin权限的admin,admin123的一个用户,需要在程序中使用这个用户的账号和密码
2、或者直接使用默认的账户密码也行
6、docker安装mongodb
#搜索MongoDB
docker search mongo
#拉取mongo
docker pull mongo
#运行带参数的mongo
docker run -p 27017:27017 -v /usr/local/mongo/data:/data/db --name mongodb27017 -d mongo
#查看实时日志:
docker logs -f 正在运行的容器ID
#进入 mongo 交互模式
docker exec -it <CONTAINER NAME> mongo admin
docker exec -it mongodb27017 mongo admin