市場: hub.docker.comphp
參考中文站點: http://docs.docker-cn.com/node
sudo service docker start 不報錯, 可是查看狀態 : sudo service docker status 卻發現沒有啓動。 查看日誌: tail -50f /var/log/docker.log Devices cgroup isn't mounted http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=21335514&id=5682246 運行腳本後,報: Error initializing network controller: list bridge addresses failed: no available network
https://docs.docker.com/install/linux/docker-ce/centos/mysql
yum install docker systemctl enable docker systemctl start docker vi /etc/docker/daemon.json { 「registry-mirrors」: [「https://registry.docker-cn.com「] } systemctl daemon-reload systemctl restart docker
http://docs.docker.com/engine/installation/linux/docker-ce/ubuntulinux
sudo snap install docker
其餘同樣。git
docker run -it -v 本地或卷:鏡像內路徑或文件 -p 服務器端口:容器端口 --net $net --ip $ip -e $參數=值 -name $name $image
-i 激活模式。
-t tty
-v 本地或卷:鏡像內路徑或文件 ,若是鏡像內存在文件名, 則覆蓋。
-p 端口映射,服務器端口:容器端口github
--restart always 老是重啓. 除非啓動 portainer
--rm 退出容器後,自動刪除。redis
https://blog.csdn.net/diyiday/article/details/77619775算法
報錯:
net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headsql
使用加速器:
https://blog.csdn.net/LEoe_/article/details/78681343docker
在 https://www.daocloud.io/mirror 上找到鏡像地址。windows 下,添加到Docker Daemon 裏:
registry-mirrors:["http://f1361db2.m.daocloud.io"]
linux 下:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
https://github.com/portainer/portainer
docker volume create portainer_data docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
docker network create --subnet=172.18.0.0/16 mynetwork docker run -d --net mynetwork --ip 172.18.0.10 mariadb:latest
docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 -t --net mynetwork --ip 172.18.0.8 zookeeper:3.5 docker run -d --name zkui -p 8090:9090 -e ZKUI_ZK_SERVER=172.18.0.8:2181 -t --net mynetwork --ip 172.18.0.9 qnib/zkui docker run --name db -e MYSQL_ROOT_PASSWORD=1234 -d --net mynetwork --ip 172.18.0.10 -p 13306:3306 mariadb docker run --name postgresql -e POSTGRES_PASSWORD=1234 -d --net mynetwork --ip 172.18.0.11 -p 15432:5432 postgres docker run --name redis -d --net mynetwork --ip 172.18.0.20 -p 6379:6379 redis --requirepass "1234" docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=1234 --net mynetwork --ip 172.18.0.30 -p 5672:5672 -p 15672:15672 rabbitmq:3-management docker run --name kafka -d -e HOST_IP=localhost -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e ZK=zk -e KAFKA_ZOOKEEPER_CONNECT=172.18.0.8:2181 -e KAFKA_LISTENERS=PLAINTEXT://172.18.0.36:9092 -p 9092 --link zookeeper:zk --net mynetwork --ip 172.18.0.36 wurstmeister/kafka docker run --name elasticsearch -d --net mynetwork --ip 172.18.0.40 -p 19200:9200 -p 19300:9300 -e transport.host=0.0.0.0 -e discovery.zen.minimum_master_nodes=1 elasticsearch docker run --name mongo -dt -p 27017:27017 --net mynetwork --ip 172.18.0.50 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=yxh123 mongo docker run -p 9800:9800 --net mynetwork --ip 172.18.0.51 -d --link <elk>:demo containerize/elastichd 其中 <elk> 是連接elasticsearch 的容器名稱, 開放 9200 端口。 docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /opt/gitea:/data --net mynetwork --ip 172.18.0.98 gitea/gitea:latest docker run -d --name confluence -p 2080:8090 --user root:1234 cptactionhank/atlassian-confluence:latest 須要破解文件:http://wiki.wuyijun.cn/download/attachments/2327034/51CTO%E4%B8%8B%E8%BD%BD-Confluence.zip docker run -d --net mynetwork --ip 172.18.0.12 -p 8500:8500 --name consul -e CONSUL_BIND_INTERFACE=eth0 consul docker run --net mynetwork --ip 172.18.0.96 -d -p 8080:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins docker run -d -p 9100:9000 --name minio1 -e "MINIO_ACCESS_KEY=lwl" -e "MINIO_SECRET_KEY=lwl--418" -v /opt/minio/data:/data -v /opt/minio/config:/root/.minio minio/minio server /data docker run --env MODE=standalone --name nacos -d -p 8848:8848 --ip 172.18.0.16 \ -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_MASTER_SERVICE_DB_NAME=nacos -e MYSQL_MASTER_SERVICE_DB_NAME=nacos\ -e MYSQL_MASTER_SERVICE_HOST=172.17.71.90 -e MYSQL_SLAVE_SERVICE_HOST=172.17.71.91 \ -e MYSQL_MASTER_SERVICE_USER=root -e MYSQL_MASTER_SERVICE_PASSWORD=1@#4 \ nacos/nacos-server 執行數據庫腳本: https://raw.githubusercontent.com/alibaba/nacos/master/config/src/main/resources/META-INF/nacos-db.sql
docker update -m 1880m --memory-swap -1 gitlab2
[galera]
bind-address=0.0.0.0
* docker volume create db_master_data * docker run --name db_master -e MYSQL_ROOT_PASSWORD=1234 -d -v /opt/mariadb/my_master.cnf:/etc/mysql/conf.d/my_master.cnf -v db_master_data:/data --net mynetwork --ip 172.18.0.10 -p 3307:3306 mariadb 2. slave 上執行: * 新建文件 /opt/mariadb/my_slave1.cnf 修改上面的 server-id 爲 2 * docker volume create db_slave1_data * docker run --name db_slave1 -e MYSQL_ROOT_PASSWORD=1234 -d -v /opt/mariadb/my_slave1.cnf:/etc/mysql/conf.d/my_slave1.cnf -v db_slave1_data:/data --net mynetwork --ip 172.18.0.11 -p 3308:3306 mariadb 3. 配置主庫 * mysql -h172.18.0.10 -P3306 -uroot -p1234 * GRANT REPLICATION SLAVE ON *.* to 'repl'@'%' identified by '1234'; * flush privileges; * show master status; //記住 File、Position的值 > 注: 雖然配置了端口映射,可是須要鏈接它自己的端口 3306 4. 配置從庫 * mysql -h172.18.0.11 -P3306 -uroot -p1234 * change master to master_host='172.18.0.10',master_user='repl',master_password='1234',master_log_file='$master.file',master_log_pos=$master.position,master_port=3306; * start slave; * show slave status\G > 注: 雖然配置了端口映射,可是須要鏈接它自己的端口 3306 5. 安裝 haproxy
~/haproxy.cfg
ulimit-n 51200 global maxconn 4000 #最大鏈接數的設定 daemon defaults mode http #默認使用協議,能夠爲{http|tcp|health} http:是七層協議 tcp:是四層 health:只返回OK log global #全局日誌記錄 option httplog #詳細記錄http日誌 option dontlognull #不記錄空日誌 option http-server-close #啓用http-server-close option forwardfor except 127.0.0.0/8 #來自這些信息的都不forwardfor option redispatch #從新分發,ServerID對應的服務器宕機後,強制定向到其餘運行正常的服務器 retries 3 #3次鏈接失敗則認爲服務不可用 timeout http-request 10s #默認http請求超時時間 timeout queue 1m #默認隊列超時時間 timeout connect 10s #默認鏈接超時時間 timeout client 1m #默認客戶端超時時間 timeout server 1m #默認服務器超時時間 timeout http-keep-alive 10s #默認持久鏈接超時時間 timeout check 10s #默認檢查時間間隔 maxconn 3000 #最大鏈接數 listen mysql bind 0.0.0.0:3306 #代理端口 mode tcp #模式 TCP option mysql-check user haproxy #建立沒有權限的haproxy用戶,密碼爲空。Haproxy使用這個帳戶對MySQL數據庫心跳檢測 balance roundrobin #調度算法 server mysql1 172.18.0.11:3306 weight 1 check inter 1s rise 2 fall 2 #健康檢查加上check server mysql2 172.18.0.12:3306 weight 1 check inter 1s rise 2 fall 2 listen stats #監控 mode http bind 0.0.0.0:80 stats enable stats uri /dbs stats realm Global\ statistics stats auth admin:admin
* docker run -d -it --name haproxy -v ~/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro --net mynetwork --ip 172.18.0.19 -p 13306:3306 -p 3380:80 haproxy
成功.