docker安装软件

本文章介绍应用容器引擎docker安装JAVA开发中常用的一些软件。

1.docker安装JDK
2.docker安装MySQL
3.docker安装Redis
4.docker安装Tomcat
5.docker安装nginx
6.docker安装rancher
7.docker安装zookeeper
8.docker安装kafka(需要安装zookeeper)
9.docker安装MongoDB
10.docker安装Jenkins
11.docker安装禅道
12.docker安装gitlab(很占内存)
13.docker安装GitBlit
14.docker安装Maven私服(nexus)-很占内存(至少2G)
15.docker安装达梦数据库
16.docker安装nacos
17.docker执行jar程序(需要安装jdk)

 

注意事项


docker安装的软件是使用不了 127.0.0.1 或者 localhost的IP,
但是可以使用 172.17.0.1(docker安装完毕就存在) 或者 该外网IP(转换需要浪费时间和不安全),
也可以使用docker的IP(升级时会变更)
 
端口说明
3307:3306
[主机端口]:[容器端口]
 
路径映射
/data/soft/mysql_home:/var/lib/mysql
[主机路径]:[容器路径]
 
 
//查询docker镜像
https://hub.docker.com/search?q=
 
//修改docker的配置
docker exec -ti [镜像ID] /bin/bash
 

 

 

 

JDK

1 # https://www.cnblogs.com/hl15/p/13683833.html
2 
3 docker pull adoptopenjdk/openjdk8
4 
5 #启动
6 docker run -di --name=jdk1.8 adoptopenjdk/openjdk8
7 
8 执行需要命令
9 /bin/bash

 

 

 

MySQL

1 #https://blog.csdn.net/Cherry_King/article/details/122710591
2 
3 docker pull mysql:8.0
4 
5 mkdir -p /data/soft/mysql_home
6 chmod 777 /data/soft/mysql_home
7 
8 docker run -itd --name=mysql-8 -p 7306:3306 -v /data/soft/mysql_home:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=aaa123456 -d mysql:8.0

 

 

 

Redis

#https://www.bilibili.com/video/BV1s5411j7zq?p=15&spm_id_from=pageDriver
#https://blog.csdn.net/qq_27759825/article/details/122577184
docker pull redis

sudo mkdir -p /data/soft/redis_home
sudo mkdir -p /data/soft/redis_home/conf
sudo mkdir -p /data/soft/redis_home/data

#没有找到配置
docker run -di --name=redis -p 5379:6379 redis
docker run -d --name=redis -p 5379:6379 --restart always -v /data/soft/redis_home/data:/data redis

#使Redis重启数据不会消失
vi /etc/sysctl.conf
vm.overcommit_memory = 1

 

 

 

Tomcat

1 # https://www.bilibili.com/video/BV1s5411j7zq?p=15
2 
3 docker pull tomcat:8.5.73-jre17-temurin-focal
4 docker run -di --name=tomcat -p 8080:8080 tomcat:8.5.73-jre17-temurin-focal
5 
6 docker exec -it tomcat /bin/bash
7 
8 docker run -di --name=tomcat -p 8080:8080 -v /soft/webapps:/usr/local/tomcat/webapps  tomcat:7-jre7

 

 

nginx

 1 -- 使用docker搜索nginx
 2 docker search nginx
 3 
 4 
 5 -- 使用docker安装nginx
 6 docker pull nginx
 7 
 8 -- 运行nginx
 9 docker run -di -p 80:80 nginx
10 
11 mkdir -p /data/soft/nginx_home
12 chmod 777 /data/soft/nginx_home
13 
14 mkdir -p /data/soft/nginx_home/conf
15 chmod 777 /data/soft/nginx_home/conf
16 
17 mkdir -p /data/soft/nginx_home/html
18 chmod 777 /data/soft/nginx_home/html
19 
20 mkdir -p /data/soft/nginx_home/logs
21 chmod 777 /data/soft/nginx_home/logs
22 
23 -- 拷贝完之后
24 docker cp [容器ID]:/etc/nginx/nginx.conf /data/soft/nginx_home/conf
25 docker cp [容器ID]:/etc/nginx/conf.d/default.conf /data/soft/nginx_home/conf
26 docker cp [容器ID]:/usr/share/nginx/html /data/soft/nginx_home/html
27 docker cp [容器ID]:/var/log/nginx /data/soft/nginx_home/logs
28 -- 停止并删除容器
29 docker stop [容器ID]
30 docker rm [容器ID]
31 
32 sudo docker run --name=nginx -p 80:80 --restart=always\
33 -v /data/soft/nginx_home/conf/nginx.conf:/etc/nginx/nginx.conf \
34 -v /data/soft/nginx_home/conf/default.conf:/etc/nginx/conf.d/default.conf \
35 -v /data/soft/nginx_home/html:/usr/share/nginx/html \
36 -v /data/soft/nginx_home/logs:/var/log/nginx \
37 -d nginx
38 
39 
40 https://blog.lupf.cn/articles/2020/11/08/1604845476002.html

 

 

 

rancher

docker pull rancher/server
docker run -di --name=rancher -p 8080:8080 rancher/server
netstat -an | grep 8080

#重启
docker restart rancher
 
#http://t.zoukankan.com/BigStupid-p-9165957.html
 
#相关容器
rancher/server            latest              98d8bb571885        2 years ago         1.08GB
rancher/scheduler         v0.8.6              fbedeaddc3e9        3 years ago         248MB
rancher/agent             v1.2.11             1cc7591af4f5        3 years ago         243MB
rancher/net               v0.13.17            f170c38e3763        3 years ago         311MB
rancher/dns               v0.17.4             678bde0de4d2        3 years ago         249MB
rancher/healthcheck       v0.3.8              ce78cf69cc0b        3 years ago         391MB
rancher/metadata          v0.10.4             02104eb6e270        3 years ago         251MB
rancher/network-manager   v0.7.22             13381626c510        3 years ago         256MB
rancher/net               holder              665d9f6e8cc1        5 years ago         267MB

 

 

 

zookeeper

1 docker pull wurstmeister/zookeeper
2 
3 docker run -di --name=zookeeper -p 2181:2181 wurstmeister/zookeeper
4 
5 netstat -an | grep 1010

 

 

kafka

 1 docker pull wurstmeister/kafka
 2 //关闭防火墙
 3 systemctl stop  firewalld
 4 
 5 docker run -di --name=kafka -p 4327:4327 --env KAFKA_HEAP_OPTS=-Xmx4G \
 6 -e KAFKA_BROKER_ID=0 \
 7 -e KAFKA_ZOOKEEPER_CONNECT=[IP]:2181 \
8 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT:[IP]:4327 \ 9 -e KAFKA_LISTENERS=PLAINTEXT:0.0.0.0:4327 \ 10 -d wurstmeister/kafka 11 12 //开启防火墙 13 systemctl start firewalld

 

 

 

MongoDB

 1 docker pull mongo
 2 
 3 docker run -di --name=mongo -p 27017:27017 mongo --auth
 4 
 5 #配置用户和密码
 6 docker exec -it mongo mongo admin
 7 # 创建一个名为 admin,密码为 aaa123456 的用户。
 8 >  db.createUser({ user:'admin',pwd:'aaa123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
 9 # 尝试使用上面创建的用户信息进行连接。
10 > db.auth('admin', 'aaa123456');
11 #https://blog.csdn.net/weixin_46244732/article/details/121165722
12 #新版不能使用上面的方法
13 docker pull mongo:6.0.2
14 sudo mkdir -p /data/soft/mongo_home
15 sudo mkdir -p /data/soft/mongo_home/db
16 
17 docker run -di --name mongodb --restart always -v /data/soft/mongo_home/db:/data/db -p 7303:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=aaa123456 --privileged=true mongo:6.0 --auth
18 
19 //还需要给用户权限,不然程序不能访问对应的数据库,工具可以操作
20 db.createUser({
21     user: "admin",
22     pwd: "aaa123456",
23     roles: [
24         {
25             role: "readWrite",
26             db: "realtime"
27         }
28     ],
29     authenticationRestrictions: [ ]
30 })
31 
32 
33 #配置用户和密码(旧版本)
34 docker exec -it mongo mongo admin
35 # 创建一个名为 admin,密码为 aaa123456 的用户。
36 >  db.createUser({ user:'admin',pwd:'aaa123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
37 # 尝试使用上面创建的用户信息进行连接。
38 > db.auth('admin', 'aaa123456');

 

 

 

Jenkins

1 # https://segon.cn/install-jenkins-using-docker.html
2 
3 docker pull jenkins/jenkins:2.222.3-centos
4 mkdir -p /data/soft/jenkins_home
5 chmod 777 /data/soft/jenkins_home
6 chown -R 1000:1000 /data/soft/jenkins_home/
7 docker run -d --name=jenkins -p 18080:8080 -p 50000:50000 -v /data/soft/jenkins_home:/var/jenkins_home  jenkins/jenkins:2.222.3-centos
8 #查询密码
9 cat /data/soft/jenkins_home/secrets/initialAdminPassword

 

 

 

禅道

1 #禅道的docker版本下载
2 https://hub.docker.com/r/easysoft/zentao/tags
禅道版本
镜像标签
开源版
以数字开头,如:12.3.3
专业版
以pro开头,如:pro8.8.3
企业版
以biz开头,如:biz3.7.2

 

 

 

 

 

 1 # https://www.zentao.net/book/zentaopmshelp/405.html#0
 2 docker pull easysoft/zentao:16.3
 3 
 4 #sudo docker run --name [容器名] -p [主机端口]:80 --network=[网络驱动名] --ip [容器IP] --mac-address [mac地址] -v [主机禅道目录]:/www/zentaopms -v [主机mysql目录]:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=[数据库密码] -d easysoft/zentao:[镜像标签]
 5 mkdir -p /data/soft/zentao_home
 6 chmod 777 /data/soft/zentao_home
 7 
 8 mkdir -p /data/soft/zentao_home/zentao_mysql
 9 chmod 777 /data/soft/zentao_home/zentao_mysql
10 
11 sudo docker run --name=zentao -p 28080:80 -v /data/soft/zentao_home:/www/zentaopms -v /data/soft/zentao_home/zentao_mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=aaa123456 -d easysoft/zentao:16.3

//数据库配置 172.17.0.1 root aaa123456

 

 

gitlab(很占内存)

 1 # https://www.cnblogs.com/niceyoo/p/13057533.html
 2 docker pull gitlab/gitlab-ce:14.7.3-ce.0
 3 
 4 # gitlab总文件夹
 5 mkdir -p /data/soft/gitlab_home
 6 chmod 777 /data/soft/gitlab_home
 7 
 8 # 配置文件
 9 mkdir -p /data/soft/gitlab_home/etc
10 chmod 777 /data/soft/gitlab_home/etc
11 
12 # 数据文件
13 mkdir -p /data/soft/gitlab_home/data
14 chmod 777 /data/soft/gitlab_home/data
15 
16 # 日志文件
17 mkdir -p /data/soft/gitlab_home/log
18 chmod 777 /data/soft/gitlab_home/log
19 # 该程序对内存要求有点高(至少2G)
20 sudo docker run --name=gitlab -p 38080:80 --privileged=true -v /data/soft/gitlab_home/etc:/etc/gitlab -v /data/soft/gitlab_home/data:/var/opt/gitlab -v /data/soft/gitlab_home/log:/var/log/gitlab  -d gitlab/gitlab-ce:14.7.3-ce.0
21 
22 #修改[external_url 'http://106.52.63.80']
23 vi /data/soft/gitlab_home/etc/gitlab.rb
24 
25 #修改IP和端口
26 vi /data/soft/gitlab_home/data/gitlab-rails/etc/gitlab.yml
27 
28 #查询管理员密码[管理员账号:root]
29 
30 cat /data/soft/gitlab_home/etc/initial_root_password

 

 

 

GitBlit

# https://blog.csdn.net/qq_32599479/article/details/89192287

 

 

 

Maven私服(nexus)-很占内存(至少2G)

 1 #https://www.cnblogs.com/niceyoo/p/11204143.html
 2 
 3 docker pull sonatype/nexus3:3.37.1
 4 
 5 # nexus3总文件夹
 6 mkdir -p /data/soft/nexus_home
 7 chmod 777 /data/soft/nexus_home
 8 
 9 docker run -d --name nexus3 -p 8081:8081 -d sonatype/nexus3:3.37.1
10 docker cp [容器ID]:/nexus-data /data/soft/nexus_home
11 docker stop nexus3
12 docker rm nexus3
13 
14 docker run -d --name nexus3 -p 8081:8081 -v /data/soft/nexus_home:/nexus-data -d sonatype/nexus3:3.37.1
15 等待30秒左右
16 
17 #查看密码(账号是:admin)
18 cat /data/soft/nexus_home/admin.password
19 有时候需要等一段时间才能看到
20 
21 #https://blog.csdn.net/Mister_yang/article/details/116278570

 

密码可以通过该路径查看

 

 

达梦数据库

 1 #https://eco.dameng.com/docs/zh-cn/start/dm-install-docker.html
 2 
 3 // 下载文件
 4 wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar
 5 //导入镜像
 6 docker import dm8_docker.tar dm8:1.0
 7 // 查看镜像
 8 docker images
 9 //启动镜像
10 docker run -itd -p 5236:5236 --name dm8 dm8:1.0 /bin/bash /startDm.sh
11 //查看镜像文件
12 docker exec -it [镜像ID,通过docker ps 查看] /bin/bash
13 
14 默认账号密码:SYSDBA/SYSDBA
15 
16 ###############后面的暂时不通#####################
17 //创建挂载目录
18 mkdir -p /data/soft/dm8_home
19 chmod 777 /data/soft/dm8_home
20 // 拷贝配置信息
21 docker cp [容器ID]:/dm8/data /data/soft/dm8_home
22 
23 -- 停止并删除容器
24 docker stop [容器ID]
25 docker rm [容器ID]
26 //关闭容器并正式挂载
27 docker run -itd -p 5236:5236 --name dm8  -v /data/soft/dm8_home/data/PROD/dm.ini:/dm8/data/PROD/dm.ini -d dm8:1.0 /bin/bash /startDm.sh
28 
29 //无法挂载数据文件【DBF】
30 docker run -itd -p 5236:5236 --name dm8 \
31 -v /data/soft/dm8_home/data/PROD/dm.ini:/dm8/data/PROD/dm.ini \
32 -v /data/soft/dm8_home/data/PROD/MAIN.DBF:/dm8/data/PROD/MAIN.DBF \
33 -v /data/soft/dm8_home/data/PROD/ROLL.DBF:/dm8/data/PROD/ROLL.DBF \
34 -v /data/soft/dm8_home/data/PROD/SYSTEM.DBF:/dm8/data/PROD/SYSTEM.DBF \
35 -v /data/soft/dm8_home/data/PROD/TEMP.DBF:/dm8/data/PROD/TEMP.DBF \
36 -d dm8:1.0 /bin/bash /startDm.sh

 

 

 

nacos

 1 #https://www.cnblogs.com/laity353/p/15338581.html
 2 
 3 # nacos的配置不兼容mysql 8.0+ 默认5.7
 4 
 5 //1.拉取镜像
 6 docker pull nacos/nacos-server:v2.1.2
 7 docker pull nacos/nacos-server
 8 //创建挂载目录
 9 mkdir -p /data/soft/nacos_home
10 chmod 777 /data/soft/nacos_home
11 //创建配置文件夹
12 mkdir -p /data/soft/nacos_home/resources
13 chmod 777 /data/soft/nacos_home/resources
14 
15 //先启动再迁移配置文件
16 docker run -di -p 7307:8848 nacos/nacos-server:v2.1.2
17 //查看是否启动
18 netstat -an | grep 7307
19 
20 //拷贝文件
21 docker cp [容器ID]:/home/nacos/conf/application.properties /data/soft/nacos_home/resources
22 
23 //根据自己的数据库情况更改application.properties
24 -
25 //关闭该docker并启动新的docker
26 docker stop [容器ID]
27 docker rm [容器ID]
28 
29 docker  run \
30 --name nacos -d \
31 -p 7307:8848 \
32 --privileged=true \
33 --restart=always \
34 -e JVM_XMS=256m \
35 -e JVM_XMX=256m \
36 -e MODE=standalone \
37 -e PREFER_HOST_MODE=hostname \
38 -v /data/soft/nacos_home/resources/application.properties:/home/nacos/conf/application.properties \
39 nacos/nacos-server:v2.1.2
40 
41 //需要执行的sql语句
42 https://note.youdao.com/s/5fvfTLPw
43 
44 //报错:发布失败。请检查参数是否正确
45 //https://blog.csdn.net/G_x_n/article/details/127264686
46 修改[encrypted_data_key]字段允许为空{his_config_info、config_info_beta、config_info}

 

 

 

elasticsearch

//暂时没有处理

 

 

 

执行jar程序

 1 //前提是需要安装jdk容器
 2 
 3 docker run -d --network=bridge -p 6357:6357 --restart=no --name=collector-service -v /data/webapps/:/data/webapps/ -v /data/files:/data/files -v /data/logs:/data/logs  adoptopenjdk/openjdk8 java -jar -Duser.timezone=GMT+08 /data/webapps/collector-service-0.0.1-SNAPSHOT.jar
 4 
 5 docker run -d --network=bridge -p 80:8090 --restart=no --name=collector-web -v /data/webapps/:/data/webapps/ -v /data/files:/data/files -v /data/logs:/data/logs  adoptopenjdk/openjdk8 java -jar -Duser.timezone=GMT+08 /data/webapps/collector-web-0.0.1-SNAPSHOT.jar
 6 
 7 //日志的路径不正确 待优化
 8 
 9 //查看日志
10 docker logs --tail=1000 容器名称

 

 

 

 # 源
https://note.youdao.com/ynoteshare/index.html?id=e2e9c39b98d76ea95569d946d329d3bc&type=note&_time=1647078542341

 

posted @ 2022-03-12 18:12  时光之梦  阅读(496)  评论(0编辑  收藏  举报