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)



# 请跳转到有道笔记查看(展示的格式比较好一些)

https://note.youdao.com/s/DEewuHeZ

#


注意事项


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=




JDK

# 参考 https://www.cnblogs.com/hl15/p/13683833.html

docker pull adoptopenjdk/openjdk8

#启动

docker run -di --name=jdk1.8 adoptopenjdk/openjdk8

执行需要命令

/bin/bash



MySQL(发现几个月后有数据被还原的现象)

# 参考 https://blog.csdn.net/Cherry_King/article/details/122710591

docker pull mysql:8.0

mkdir -p /data/soft/mysql_home

chmod 777 /data/soft/mysql_home

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

# 参考 https://www.bilibili.com/video/BV1s5411j7zq?p=15


docker pull tomcat:jdk17

docker run -di --name=tomcat -p 8080:8080 tomcat:jdk17

docker exec -it tomcat /bin/bash

docker run -di --name=tomcat -p 8080:8080 -v /soft/webapps:/usr/local/tomcat/webapps  tomcat:jdk17




nginx

# 参考 https://blog.lupf.cn/articles/2020/11/08/1604845476002.html


-- 使用docker搜索nginx

docker search nginx

-- 使用docker安装nginx

docker pull nginx

-- 运行nginx

docker run -di -p 80:80 nginx

mkdir -p /data/soft/nginx_home

chmod 777 /data/soft/nginx_home

mkdir -p /data/soft/nginx_home/conf

chmod 777 /data/soft/nginx_home/conf

mkdir -p /data/soft/nginx_home/html

chmod 777 /data/soft/nginx_home/html

mkdir -p /data/soft/nginx_home/logs

chmod 777 /data/soft/nginx_home/logs

-- 拷贝完之后

docker cp [容器ID]:/etc/nginx/nginx.conf /data/soft/nginx_home/conf

docker cp [容器ID]:/etc/nginx/conf.d/default.conf /data/soft/nginx_home/conf

docker cp [容器ID]:/usr/share/nginx/html /data/soft/nginx_home/html

docker cp [容器ID]:/var/log/nginx /data/soft/nginx_home/logs

-- 停止并删除容器

docker stop [容器ID]

docker rm [容器ID]

sudo docker run --name=nginx -p 80:80 --restart=always\

-v /data/soft/nginx_home/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /data/soft/nginx_home/conf/default.conf:/etc/nginx/conf.d/default.conf \

-v /data/soft/nginx_home/html:/usr/share/nginx/html \

-v /data/soft/nginx_home/logs:/var/log/nginx \

-d nginx




rancher


docker pull rancher/server:v1.6.30

docker pull rancher/server

docker run -di --name=rancher -p 8080:8080 rancher/server

netstat -an | grep 8080

docker run -di --name=rancher --restart always -p 9090:8080 rancher/server:v1.6.30

//忘记了这个是干什么的

sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://[IP]:9090/v1/scripts/D0A6ABF3FD48645211EF:1640908800000:bPBnd1SkXBqOv0PwlIKLTJ9xiE

#重启

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


docker pull wurstmeister/zookeeper

docker run -di --name=zookeeper -p 2181:2181 wurstmeister/zookeeper

netstat -an | grep 1010




kafka


docker pull wurstmeister/kafka

//关闭防火墙

systemctl stop  firewalld

docker run -di --name=kafka -p 4327:4327 --env KAFKA_HEAP_OPTS=-Xmx4G \

-e KAFKA_BROKER_ID=0 \

-e KAFKA_ZOOKEEPER_CONNECT=106.52.63.80:2181 \

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[IP]:4327 \

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:4327 \

-d wurstmeister/kafka

//开启防火墙

systemctl start  firewalld

修改docker的配置

docker exec -ti [镜像ID] /bin/bash




MongoDB


docker pull mongo

docker run -di --name=mongo -p 27017:27017 mongo --auth

#配置用户和密码

docker exec -it mongo mongo admin

# 创建一个名为 admin,密码为 aaa123456 的用户。

>  db.createUser({ user:'admin',pwd:'aaa123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});

# 尝试使用上面创建的用户信息进行连接。

> db.auth('admin', 'aaa123456');

#https://blog.csdn.net/weixin_46244732/article/details/121165722

#新版不能使用上面的方法

docker pull mongo:6.0.2

sudo mkdir -p /data/soft/mongo_home

sudo mkdir -p /data/soft/mongo_home/db

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

//还需要给用户权限,不然程序不能访问对应的数据库,工具可以操作

db.createUser({

    user: "admin",

    pwd: "aaa123456",

    roles: [

        {

            role: "readWrite",

            db: "realtime"

        }

    ],

    authenticationRestrictions: [ ]

})




Jenkins


// 参考 https://segon.cn/install-jenkins-using-docker.html

docker pull jenkins/jenkins:2.222.3-centos

mkdir -p /data/soft/jenkins_home

chmod 777 /data/soft/jenkins_home

chown -R 1000:1000 /data/soft/jenkins_home/

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

#查询密码

cat /data/soft/jenkins_home/secrets/initialAdminPassword




禅道


#禅道的docker版本下载

https://hub.docker.com/r/easysoft/zentao/tags

禅道版本和镜像tag对应关系如下:


#https://www.zentao.net/book/zentaopmshelp/405.html#0


docker pull easysoft/zentao:16.3

#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:[镜像标签]

mkdir -p /data/soft/zentao_home

chmod 777 /data/soft/zentao_home

mkdir -p /data/soft/zentao_home/zentao_mysql

chmod 777 /data/soft/zentao_home/zentao_mysql

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(很占内存)

#https://www.cnblogs.com/niceyoo/p/13057533.html

docker pull gitlab/gitlab-ce:14.7.3-ce.0

# gitlab总文件夹

mkdir -p /data/soft/gitlab_home

chmod 777 /data/soft/gitlab_home

# 配置文件

mkdir -p /data/soft/gitlab_home/etc

chmod 777 /data/soft/gitlab_home/etc

# 数据文件

mkdir -p /data/soft/gitlab_home/data

chmod 777 /data/soft/gitlab_home/data

# 日志文件

mkdir -p /data/soft/gitlab_home/log

chmod 777 /data/soft/gitlab_home/log

# 该程序对内存要求有点高(至少2G)

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

#修改[external_url 'http://106.52.63.80']

vi /data/soft/gitlab_home/etc/gitlab.rb

#修改IP和端口

vi /data/soft/gitlab_home/data/gitlab-rails/etc/gitlab.yml

#查询管理员密码[管理员账号:root]

cat /data/soft/gitlab_home/etc/initial_root_password



GitBlit

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



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


# 参考 https://www.cnblogs.com/niceyoo/p/11204143.html

docker pull sonatype/nexus3:3.37.1

# nexus3总文件夹

mkdir -p /data/soft/nexus_home

chmod 777 /data/soft/nexus_home

docker run -d --name nexus3 -p 8081:8081 -d sonatype/nexus3:3.37.1

docker cp [容器ID]:/nexus-data /data/soft/nexus_home

docker stop nexus3

docker rm nexus3

docker run -d --name nexus3 -p 8081:8081 -v /data/soft/nexus_home:/nexus-data -d sonatype/nexus3:3.37.1

等待30秒左右

#查看密码(账号是:admin)

cat /data/soft/nexus_home/admin.password

有时候需要等一段时间才能看到

# 参考 https://blog.csdn.net/Mister_yang/article/details/116278570


密码路径

达梦数据库


# 参考 https://eco.dameng.com/docs/zh-cn/start/dm-install-docker.html

// 下载文件

wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar

//导入镜像

docker import dm8_docker.tar dm8:1.0

// 查看镜像

docker images

//启动镜像

docker run -itd -p 5236:5236 --name dm8 dm8:1.0 /bin/bash /startDm.sh

//查看镜像文件

docker exec -it [镜像ID,通过docker ps 查看] /bin/bash

默认账号密码:SYSDBA/SYSDBA

###############后面的暂时不通#####################

//创建挂载目录

mkdir -p /data/soft/dm8_home

chmod 777 /data/soft/dm8_home

// 拷贝配置信息

docker cp [容器ID]:/dm8/data /data/soft/dm8_home

-- 停止并删除容器

docker stop [容器ID]

docker rm [容器ID]

//关闭容器并正式挂载

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

//无法挂载数据文件【DBF】

docker run -itd -p 5236:5236 --name dm8 \

-v /data/soft/dm8_home/data/PROD/dm.ini:/dm8/data/PROD/dm.ini \

-v /data/soft/dm8_home/data/PROD/MAIN.DBF:/dm8/data/PROD/MAIN.DBF \

-v /data/soft/dm8_home/data/PROD/ROLL.DBF:/dm8/data/PROD/ROLL.DBF \

-v /data/soft/dm8_home/data/PROD/SYSTEM.DBF:/dm8/data/PROD/SYSTEM.DBF \

-v /data/soft/dm8_home/data/PROD/TEMP.DBF:/dm8/data/PROD/TEMP.DBF \

-d dm8:1.0 /bin/bash /startDm.sh



nacos


# 参考 https://www.cnblogs.com/laity353/p/15338581.html

# 不兼容mysql 8.0+ 默认5.7

//1.拉取镜像

docker pull nacos/nacos-server:v2.1.2

docker pull nacos/nacos-server

//创建挂载目录

mkdir -p /data/soft/nacos_home

chmod 777 /data/soft/nacos_home

//创建配置文件夹

mkdir -p /data/soft/nacos_home/resources

chmod 777 /data/soft/nacos_home/resources

//先启动再迁移配置文件

docker run -di -p 7307:8848 nacos/nacos-server:v2.1.2

//查看是否启动

netstat -an | grep 7307

//拷贝文件

docker cp [容器ID]:/home/nacos/conf/application.properties /data/soft/nacos_home/resources

//根据自己的数据库情况更改application.properties


//关闭该docker并启动新的docker

docker stop [容器ID]

docker rm [容器ID]

docker  run \

--name nacos -d \

-p 7307:8848 \

--privileged=true \

--restart=always \

-e JVM_XMS=256m \

-e JVM_XMX=256m \

-e MODE=standalone \

-e PREFER_HOST_MODE=hostname \

-v /data/soft/nacos_home/resources/application.properties:/home/nacos/conf/application.properties \

nacos/nacos-server:v2.1.2

//需要执行的sql语句

https://note.youdao.com/s/5fvfTLPw

//报错:发布失败。请检查参数是否正确

//https://blog.csdn.net/G_x_n/article/details/127264686

修改[encrypted_data_key]字段允许为空{his_config_info、config_info_beta、config_info}




elasticsearch


//暂时没有




执行jar程序


//前提是需要安装jdk容器

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

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

//日志的路径不正确 待优化

//查看日志

docker logs --tail=1000 容器名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容