Docker 常用容器启动命令集合
Mongo
docker run -d -p 27017:27017 -v /$PWD/docker/mongo/db:/data/db --restart=always --name mymongo -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin mongo:latest
Redis
docker run -d --name myredis -p 6379:6379 --restart=always redis --requirepass "redis"
MySql
-- 主从搭建模式:
Master:
docker run -d -p 3306:3306 --privileged=true -v /$PWD/docker/mysql/master/data:/var/lib/mysql -v /$PWD/docker/mysql/master/conf/my.cnf:/etc/mysql/my.cnf --name mysql-master --restart=always -e MYSQL_ROOT_PASSWORD="root" mysql:latest
Slave:
docker run -d -p 3307:3306 --privileged=true -v /$PWD/docker/mysql/slave/data:/var/lib/mysql -v /$PWD/docker/mysql/slave/conf/my.cnf:/etc/mysql/my.cnf --name mysql-slave --restart=always -e MYSQL_ROOT_PASSWORD="root" mysql:latest
# my.cnf配置如下:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 局域网唯一
server-id=100
## 开启二进制日志功能(关键)
log-bin=mysql-bin
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
Zookeeper
mac os :
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name myzookeeper -p 2181:2181 -v /$PWD/docker/zookeeper/data:/data -e TZ=Asia/Shanghai wurstmeister/zookeeper
unix:
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name myzookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
Kafka
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name mykafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=127.0.0.1:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e TZ=Asia/Shanghai wurstmeister/kafka
Draw.io
docker run -d -p 8081:8080 --restart=always --hostname=drawio --name mydrawio my-drawio
ElasticSearch + Kibana
docker run -d --restart=always -p 9200:9200 -p 9300:9300 --network esnet -e "discovery.type=single-node" -v /$PWD/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name elasticsearch elasticsearch:7.9.1
docker run -d --restart=always -p 5601:5601 --name kibana --network esnet --link elasticsearch:elasticsearch kibana:7.9.1
nextcloud
docker run --restart=always --name nextcloud -p 10100:80 -v /usr/docker/nextcloud:/var/www/html/data -d nextcloud
gitlab
docker run -d -p 2443:443 -p 5678:80 -p 2222:22 --name gitlab --restart always -v /usr/docker/gitlab/config:/etc/gitlab -v /usr/docker/gitlab/logs:/var/log/gitlab -v /usr/docker/gitlab/data:/var/opt/gitlab docker.io/gitlab/gitlab-ce
gitlab-runner
docker run -d --name gitlab-runner --restart always -v /usr/docker/gitlab-runner/config:/etc/gitlab-runner -v /usr/docker/gitlab-runner/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
gitlab+runner docker-compose yml
version: '3.2'
services:
gitlab-web:
container_name: gitlab
image: docker.io/gitlab/gitlab-ce
restart: always
hostname: 'gitlab.adotcode.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.adotcode.com:2443'
nginx['redirect_http_to_https'] = true
letsencrypt['enable'] = false
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.adotcode.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.adotcode.com.key"
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '2443:2443'
- '2222:22'
- '5678:80'
volumes:
- /usr/docker/gitlab/config:/etc/gitlab
- /usr/docker/gitlab/logs:/var/log/gitlab
- /usr/docker/gitlab/data:/var/opt/gitlab
- /usr/docker/gitlab/ssl:/etc/gitlab/ssl
networks:
- gitlab-ce-network
gitlab-runner:
container_name: gitlab-runner-public
image: gitlab/gitlab-runner:latest
restart: always
depends_on:
- gitlab-web
volumes:
- /usr/docker/gitlab-runner-public/config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
network_mode: "host"
networks:
gitlab-ce-network:
name: gitlab-ce-network
# runner config.toml
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "gitlab runner public"
url = "https://gitlab.adotcode.com:2443/"
token = "Z-4kYz9QosxVWSHNjU5K"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
extra_hosts = ["gitlab.adotcode.com:192.168.1.6"]
tls_verify = false
image = "docker:19.03.12"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
# 后台 启动
sudo docker-compose up -d
# 停止会删除容器
docker-compose down
# 停止不会删除容器
docker-compose stop
nginx
docker run -d --restart always --name nginx -p 80:80 -v /usr/docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/docker/nginx/ssl:/etc/nginx/ssl -v /usr/docker/nginx/logs:/var/log/nginx -v /usr/docker/nginx/html:/usr/share/nginx/html -v /usr/docker/nginx/conf:/etc/nginx/conf.d --privileged=true nginx