docker操作
docker network create xx #创建网络
docker ps -a -q | xargs docker rm #一键删除所有容器
docker run -idt -p 宿主机端口:容器端口 -v /宿主机目录:/容器目录 --network=容器网路 --restart=always --name 容器名称 镜像
docker inspect 容器id #查看容器详情,可以查看网络,id,镜像,环境变量,磁盘挂载等等
docker-compose 操作
docker-compose -f xx.yml up -d #根据某个docker-compose文件创建容器
docker-compose -f xx.yml down #根据某个docker-compose文件删除容器
docker-compose -f xx.yml services #查看可以当前文件可以部署的服务
docker-compose -f xx.yml up mysql -d #部署某个指定的服务
docker compose 部署redis,mysql,mongodb,zookeeper,kafka,gitlab,postgres,clickhouse
version: '2'
services:
redis:
image: redis:latest
container_name: redis
restart: always
command: redis-server --requirepass P@ss1234
ports:
- "16379:6379"
privileged: true
zookeeper:
image: zookeeper
container_name: zookeeper
restart: always
ports:
- "12181:2181"
kafka:
image: wurstmeister/kafka
container_name: kafka
restart: always
ports:
- "19092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.1:19092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
gitlab:
image: gitlab/gitlab-ce
hostname: gitlab
container_name: gitlab
restart: always
ports:
- "8443:443"
- "8081:80"
- "2222:22"
environment:
GITLAB_ROOT_PASSWORD: password
GITLAB_USERNAME: config
GITLAB_PASSWORD: password
volumes:
- /home/deployment/gitlab/config:/etc/gitlab
- /home/deployment/gitlab/logs:/var/log/gitlab
- /home/deployment/gitlab/data:/var/opt/gitlab
- /etc/localtime:/etc/localtime:ro
postgres:
image: postgres:12-alpine
container_name: postgres
restart: always
ports:
- "15432:5432"
environment:
POSTGRES_DB: mydb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- /home/deployment/postgres/data:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
mysql:
image: mysql:5.7
container_name: mysql
restart: always
privileged: true
ports:
- "13306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- /home/deployment/mysql/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
- /home/deployment/mysql/conf:/etc/mysql/conf.d
- /home/deployment/mysql/logs:/var/log/mysql
- /home/deployment/mysql/initsql/init.sql:/docker-entrypoint-initdb.d/init.sql
clickhouse:
image: yandex/clickhouse-server
container_name: clickhouse
restart: always
privileged: true
ports:
- "18123:8123"
volumes:
- /home/deployment/clickhouse/data:/var/lib/clickhouse
- /etc/localtime:/etc/localtime:ro
- /home/deployment/clickhouse/initsql/init.sql:/docker-entrypoint-initdb.d/init.sql
mongo:
image: mongo:4.4
container_name: mongo
restart: always
privileged: true
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
volumes:
- /home/deployment/mongo/data:/data/db
networks:
default:
external:
name: deploymentnetwork #网络
/docker-entrypoint-initdb.d/init.sql 为需要执行的初始化语句:
## init.sql的内容
create database IF NOT EXISTS db1 DEFAULT CHARACTER SET utf8;
create database IF NOT EXISTS db2 DEFAULT CHARACTER SET utf8;