1.创建mysql
docker run -p 3306:3306 --name mysql \
-v /home/mysql/conf:/etc/mysql/mysql.conf.d \
-v /home/mysql/log:/var/log/ \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=2022qwer \
-d mysql:8.0
而后再执行升级:
docker update --restart=always mysql
2.创建jenkins (需要-u 0 启动root账户)
docker run -d -p 8190:8080 -p 8191:50000 -v /extdata/jenkins_home:/var/jenkins_home --name jenkins -u 0 jenkins/jenkins:2.387.2-lts
3.创建gitlab
4.创建redis
docker run -p 6379:6379 --name my_redis -v /Users/lensonyuan/Documents/DockerShare/redis/data:/data -v /Users/lensonyuan/Documents/DockerShare/redis/conf/:/etc/redis/ -d redis redis-server /etc/redis/redis.conf
配置文件redis.conf如下,放到你的conf映射目录下:
5. 创建elasticsearch-head
docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5-alpine
- 创建elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms2g -Xmx2g" elasticsearch:8.14.0
* 配置文件拷贝出来:docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /data/extdocker/es8
- 修改配置项
# 设置网络主机为所有接口
network.host: 0.0.0.0
# 设置 HTTP 端口
http.port: 9200
# 如果需要,配置 CORS
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Type,Content-Length
http.cors.allow-credentials: true
* 拷贝回去覆盖,docker cp /data/extdocker/es8/elasticsearch.yml elasticsearch:/usr/share/elasticsearch/config/
* 重启容器 docker restart elasticsearch
若启动后提示max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],则linux修改如下
#查看配置
sysctl -a|grep vm.max_map_count
# 修改
vim /etc/sysctl.conf
#添加参数
...
vm.max_map_count = 262144
重新加载/etc/sysctl.conf配置
sysctl -p
修改密码是进入容器内对应bin,执行./elasticsearch-setup-passwords interactive
验证是否安装成功,需要注意已经开启了xpack.security.http.ssl.enabled: true,以为着只接受https,测试时需注意。另外es-head,访问方式为http://ip:9100//?auth_user=账号&auth_password=密码,在里面在连接https://ip2:9200
- 创建nginx并把配置文件项目文件挂载到宿主机
a. 先创建个临时的nginx的docker,从里面cp配置文件到宿主机目录
b. 接下来就运行我们需要的容器吧,后面改配置即可。# 创建临时的nginx docker run --name nginxtemp -d nginx # 拷贝配置文件出来 docker cp nginxtemp:/etc/nginx/nginx.conf /data/extdocker/nginx/nginx.conf docker cp nginxtemp:/var/log/nginx /data/extdocker/nginx/logs docker cp nginxtemp:/usr/share/nginx/html /data/extdocker/nginx/html docker cp nginxtemp:/etc/nginx/conf.d /data/extdocker/nginx/conf.d # 删除容器 docker rm nginxtemp
docker run --name nginx8010 -p 8010:80 -p 4431:443 \
-v /data/extdocker/nginx/upload:/home/upload \
-v /data/extdocker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/extdocker/nginx/logs:/var/log/nginx \
-v /data/extdocker/nginx/html:/usr/share/nginx/html \
-v /data/extdocker/nginx/conf.d:/etc/nginx/conf.d \
-e TZ=Asia/Shanghai \
-d nginx
- 创建postgresSQL,默认账户为postgres
docker run --name mypostgres \
-p 5432:5432 \
-v /data/extdocker/postgres:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=2024cvat \
-e POSTGRES_DB=cvat \
-d postgres:12.3
- 创建Minio,默认账户为minioadmin
docker run -d \
--name minio23 \
-p 9000:9000 \
-p 9001:9001 \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=jkun@985*minio" \
-v /data/extdocker/minio/data:/data \
quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z \
server --console-address ":9001" /data