centos被和谐了,服务器使用ubuntu24
sudo apt update -y
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update -y
sudo apt upgrade -y
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ung2thfc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo apt-get install docker-compose -y
查看安装是否成功
docker --version
docker-compose --version
常用命令:
查看启动的容器日志:
docker logs -f xxx
查看容器详细信息:
docker inspect xxx
导出镜像:
docker save -o 【tar包名称】 【镜像名称】 :【镜像tag】
docker save -o nginx.tar nginx:v1
导入镜像:
docker load -i 【tar包名】
docker load -i nginx.tar
构建镜像:
docker build -t 【镜像名称】 :【镜像tag】 .
docker build -t myapp-image:latest .
创建网络:
docker network create 【网络名称】
docker network create my-network
镜像仓库(docker官方仓库已被墙):
以下两种都可以:
docker pull m.daocloud.io/docker.io/mysql:8.0.29
安装常用软件:
安装mysql: Docker Hub
# 5.7
docker pull mysql:5.7.38
docker run --name mysql --restart=always -p 3306:3306 -v /opt/docker-data/mysql:/var/lib/mysql -v /opt/docker-data/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:5.7.38 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
# 8
#docker pull mysql:8.0.29
docker run --name mysql8 --restart=always -p 3306:3306 -v /opt/docker-data/mysql8/data:/var/lib/mysql -v /opt/docker-data/mysql8/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:8.0.29 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1
开启远程访问:
docker exec -it mysql mysql -uroot -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
安装redis:https://hub.docker.com/_/redis
docker pull redis:5.0.7
docker run --name redis --restart=always -p 6379:6379 -v /opt/docker-data/redis:/data -d redis:5.0.7 --requirepass "123456" --appendonly yes
安装elasticsearch:https://hub.docker.com/_/elasticsearch Install Elasticsearch with Docker | Elasticsearch Guide [6.8] | Elastic
docker pull elasticsearch:6.8.4
docker run -u 1000 --name es --restart=always -p 9200:9200 -p 9300:9300 -v /usr/local/docker-data/elasticsearch:/usr/share/elasticsearch/data -e discovery.type=single-node -d elasticsearch:6.8.4
安装Kibana:https://hub.docker.com/_/kibana
Install Kibana with Docker | Kibana Guide [7.15] | Elastic
docker pull kibana:6.8.4
docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.88.11:9200 --restart=always -p 5601:5601 -d kibana:6.8.4
安装rabbitmq:https://hub.docker.com/_/rabbitmq
docker pull rabbitmq:3.8-management
docker run -d --name rabbit -v /usr/local/docker-data/rabbitmq:/var/lib/rabbitmq --restart=always -p 5672:5672 -p 15672:15672 rabbitmq:3.8-management
下载延迟队列插件: https://www.rabbitmq.com/community-plugins.html
下载 rabbitmq_delayed_message_exchange-3.8.0.ez
#拷贝插件到容器
docker cp rabbitmq_delayed_message_exchange-3.8.0.ez 你的容器id:/plugins
进入容器,启用插件
docker exec -it 你的容器id /bin/bash
cd /plugins
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
重启下容器即可
docker restart 你的容器id
安装xxljob: https://hub.docker.com/r/xuxueli/xxl-job-admin
docker pull xuxueli/xxl-job-admin:2.2.0
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.232.176:3306/jkcloud_xxl_job?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=root \
--spring.datasource.password=abc@123" \
-p 7777:8080 -v /usr/local/docker-data/xxljob:/data/applogs \
--name xxl-job-admin --restart=always -d xuxueli/xxl-job-admin:2.2.0
安装minio:Docker Hub
docker run -p 9000:9000 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /opt/docker-data/minio/data:/data -v /opt/docker-data/minio/config:/root/.minio minio/minio server /data --console-address ":9090"
安装nginx:
#docker pull nginx:1.26.1
#docker cp nginx:/usr/share/nginx/html ./html
#docker cp nginx:/etc/nginx/conf.d conf.d
#docker cp nginx:/etc/nginx/nginx.conf nginx.conf
docker pull m.daocloud.io/docker.io/nginx:1.26.1
docker run -p 8099:80 -d --restart=always --name nginx -v /opt/docker-data/nginx/conf.d:/etc/nginx/conf.d -v /opt/docker-data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker-data/nginx/html:/usr/share/nginx/html -v /opt/docker-data/cesium:/opt/docker-data/cesium m.daocloud.io/docker.io/nginx:1.26.1