我的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-19.03.9-3.el7
# 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仓库地址"],
  "insecure-registries":["192.168.1.52:8082","192.168.1.52:8083"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

#如果在重启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 <

#安装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 <


#安装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 <

#安装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


#结束

你可能感兴趣的:(docker,docker)