我的docker常用软件安装笔记


#阿里云安装docker推荐命令

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# Step 5: 开机自动启动docker
sudo systemctl enable docker
#安装docker完成

#添加docker镜像地址

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://dockerhub.azk8s.cn"]}

EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

#非https需要添加参数
#"insecure-registries":["192.168.1.52:8082","192.168.1.52:8083"]

#如果在重启docker的时候遇到如下错误

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

#可以尝试如下命令再重启docker

systemctl reset-failed docker.service


#添加docker镜像地址END


#安装wget

sudo yum install wget -y

#安装ctop

sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/bin/ctop
sudo chmod +x /usr/bin/ctop


#安装ctop完成


#centos7关闭防火墙

chkconfig iptables off
chkconfig firewalld off
systemctl disable firewalld

#创建并授权命令

mkdir -p /app/jar && chmod -R 777 /app/jar

#Centos7 ip配置所在目录

cd /etc/sysconfig/network-scripts
vi /etc/sysconfig/network-scripts/ifcfg-ens33


#初始化swarm管理
docker swarm init

#加入swarm集群
docker swarm join --token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#创建overlay网络
#--attachable 允许其他容器连接
docker network create -d overlay --attachable --subnet=10.10.10.0/24 mynet


#创建app目录

mkdir /app


#创建minio专用文件目录

mkdir -p /app/minio/data
mkdir -p /app/minio/config
chmod -R 777 /app/minio/data
chmod -R 777 /app/minio/config

#安装minio对象存储服务器

docker run  -p 9010:9000 --name minio --restart=always -d -v /app/minio/data:/data -v /app/minio/config:/etc/minio -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=xxxxxxx"  minio/minio  server --config-dir /etc/minio  /data

#创建mysql专用文件目录

mkdir -p /app/mysql
chmod -R 777 /app/mysql
mkdir -p /app/mysql-conf
chmod -R 777 /app/mysql-conf
mkdir -p /app/mysql-files
chmod -R 777 /app/mysql-files

 #快速生成配置文件

cat > /app/mysql-conf/mysql.conf <<EOF
[client]
#password=123456
[mysqld]

#skip-host-cache
#skip-name-resolve

max_connections = 10000
#innodb_buffer_pool_size = 1G

character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
default-time_zone = '+8:00'

pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links = 0
EOF

#安装mysql --net=host \

docker run -d \
-v /app/mysql:/var/lib/mysql \
-v /app/mysql-conf:/etc/mysql/mysql.conf.d  \
-v /app/mysql-files:/var/lib/mysql-files \
-p 3306:3306 \
--restart=always \
--env MYSQL_ROOT_PASSWORD=123456 \
--name mysql  \
mysql:8 

#创建redis文件目录

mkdir -p /app/redis/
mkdir -p /app/redis/data
chmod -R 777 /app/redis/
chmod -R 777 /app/redis/data


#复制预设的redis.conf配置文件到/app/redis目录


#安装redis 

docker run -d \
-p 6379:6379 \
--restart=always \
--name redis \
-v /app/redis/redis.conf:/data/redis.conf \
-v /app/redis/data:/data \
redis:alpine \
redis-server /data/redis.conf


#创建MongoDB文件目录

mkdir -p /app/mongodb44/db
mkdir -p /app/mongodb44/configdb
chmod -R 777 /app/mongodb44/db
chmod -R 777 /app/mongodb44/configdb
#生成keyfile,如果需要
openssl rand -base64 128 > /app/mongodb44/configdb/keyFile
#keyfile权限必须是600
chmod 600 /app/mongodb44/configdb/keyFile

#初始化配置文件

cat > /app/mongodb44/configdb/mongod.conf <<EOF
net:
  port: 27017
  bindIpAll: true

#security:
  #keyFile: /data/configdb/keyFile
  #authorization: enabled

#replication:
#   replSetName: rs


storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 0.1
EOF


#安装MongoDB 4.4

docker run -d \
--restart=always \
-p 27017:27017 \
-v /app/mongodb44/db:/data/db \
-v /app/mongodb44/configdb:/data/configdb \
-v /etc/localtime:/etc/localtime:ro \
--name mongodb44 mongo:4.4 mongod -f /data/configdb/mongod.conf

#进入mongodb容器

docker exec -it mongodb44 /bin/bash


#登录mongodb

mongo --port 27017


#切换到admin库

use admin


#mongodb创建超级管理员命令

db.createUser(
   {
     user: "admin",
     pwd: "123456",
     roles: [ { role: "root", db: "admin" } ]
   }
);


#mongodb初始化复制集

rs.initiate(
  {
    _id: "rs",
    members: [
      { _id : 0, host : "172.17.0.2:27019" },
      { _id : 1, host : "172.17.0.3:27019" },
      { _id : 2, host : "172.17.0.4:27019" }
    ]
  }
)

#mongodb启动log提示相关警告,可以执行以下语句

sudo echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
sudo echo "never" >  /sys/kernel/mm/transparent_hugepage/defrag

#创建RabbitMQ文件目录

mkdir -p /home/app/rabbitmq
chmod -R 777 /home/app/rabbitmq/


#安装RabbitMQ

docker run -d \
--restart=always \
-v /home/app/rabbitmq:/var/lib/rabbitmq \
-v /home/app/rabbitmq/rabbitmq.config:/etc/rabbitmq/rabbitmq.config \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
-p 5672:5672 \
-p 8672:15672 \
--name rabbit \
rabbitmq:management


#创建portainer目录

mkdir -p /app/portainer/data
chmod -R 777 /app/portainer/data

#安装portainer管理工具

docker run  -d \
-p 9000:9000 \
-v /app/portainer/data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
--name portainer \
--restart=always  \
portainer/portainer

#创建nginx目录

sudo mkdir -p /app/nginx
sudo mkdir -p /app/nginx/html
sudo chmod -R 777 /app/nginx

#简单创建nginx配置文件

cat > /app/nginx/nginx.conf <<EOF
#user  nobody;
#worker_processes  4;

worker_processes auto; 
worker_rlimit_nofile 65535; 

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  2048;
}

http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;

    server {
        
        listen 8800;
        index index.html;

        location / {
            root   html;
            index  index.html index.htm;


            add_header Access-Control-Allow-Origin *;
        }
        charset utf-8;
       
    }
}
EOF

#安装nginx
#-v /app/nginx:/etc/nginx \
#-v /app/nginx/html:/usr/share/nginx/html \
#-v /app/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \

sudo docker run -d \
-p 8800:8800 \
-v /app/nginx/html:/etc/nginx/html \
-v /app/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
--restart=always \
--name nginx \
nginx:alpine


#创建nexus3

mkdir -p /app/nexus-data
chmod -R 777 /app/nexus-data


#安装nexus3

docker run -d --name nexus3 \
 --restart=always \
-p 8081:8081 \
-p 8082:8082  \
-p 8083:8083  \
-p 8084:8084  \
-p 8085:8085   \
-v /app/nexus-data:/nexus-data \
sonatype/nexus3


#创建gitla文件夹

mkdir -p /app/gitlab/config
mkdir -p /app/gitlab/logs
mkdir -p /app/gitlab/data
chmod -R 777 /app/gitlab

#安装gitlab

docker run -d \
--network host \
--name gitlab \
--restart always \
--storage-opt dm.basesize=120G \
-v /app/gitlab/config:/etc/gitlab \
-v /app/gitlab/logs:/var/log/gitlab \
-v /app/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce


#结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值