#阿里云安装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)