hhh
- .env 中配置
SYS__ADDR= 和 SYS_DRONE_ADDR=
环境变量 - 按需改动
BASE_PATH
路径为自己需要的 - 安装
docker
和docker-compose
- 启动 :
sh start.sh
orsh start.sh swarm
SYS__ADDR=
GITEA_PROTOCAL=
GITEA_DOMAIN_PORT=
SYS_DRONE_ADDR=
GITEA_SERVER=
DRONE_GITEA_CLIENT_ID
DRONE_GITEA_CLIENT_SECRET=
DRONE_UI_PASSWORD=
DRONE_UI_USERNAME=
VAULT_TOKEN=
MYSQL_ROOT_PASSWORD=
DB_TYPE=
启动容器列表:
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
8329d5db7773 drone/drone "/bin/drone-server" 2 hours ago Up 2 hours 80/tcp
drone-server
5b8e19842a17 drone/drone-runner-ssh "/bin/drone-runner-s…" 2 hours ago Up 2 hours 3000/tcp ssh-runner
544e844ca172 drone/drone-runner-docker "/bin/drone-runner-d…" 2 hours ago Up 2 hours 3000/tcp docker-runner
0af1d2410585 mysql "docker-entrypoint.s…" 2 hours ago Up 2 hours 3306/tcp mysql-server
41b16c8ec691 gitea/gitea "/usr/bin/entrypoint…" 2 hours ago Up 2 hours 3000/tcp,tcp gitea-server
3df042d8040b drone/vault "/bin/drone-vault" 2 hours ago Up 2 hours 3000/tcp drone-vault
d48d5ca29ba7 vault "docker-entrypoint.s…" 2 hours ago Up 2 hours 8200/tcp vault-server
974fc5f87f72 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 443/tcp nginx-server
8f05528d8173 adminer "entrypoint.sh docke…" 2 hours ago Up 2 hours 8080/tcp adminer-server 9d436f801f18 redis "docker-entrypoint.s…" 2 hours ago Up 2 hours 6379/tcp redis-server
d52a6ea7d2b4 registry "/entrypoint.sh /etc…" 2 hours ago Up 2 hours 5000/tcp docker-registry
docker-compose 构建需要必须环境变量,执行前要么直接 sh start.sh
启动,或者先如下操作:
# base
export BASE_PATH=/root/aliroot/ci_cd
ls ${BASE_PATH} || mkdir -p ${BASE_PATH}
cd ${BASE_PATH}
source .env
# gitea app.ini setup
gitea_domain=${SYS__ADDR} # get from .env
## env
export MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
# gitea
export GITEA_SERVER=${GITEA_PROTOCAL}://${GITEA_SERVER_HOST}
export DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}
export DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}
# drone
export DRONE_SERVER_HOST=${SYS_DRONE_ADDR}
export DRONE_SERVER_PROTO=${GITEA_PROTOCAL}
if [ ${DB_TYPE} = mysql ]
then
export DRONE_DATABASE_DATASOURCE="root:${MYSQL_ROOT_PASSWORD}@tcp(mysql-server:3306)/drone?parseTime=true"
else
export DRONE_DATABASE_DATASOURCE=/data/database.sqlite
echo no such db
fi
export DRONE_UI_PASSWORD=${DRONE_UI_PASSWORD}
export DRONE_UI_USERNAME=${DRONE_UI_USERNAME}
# vault
export VAULT_TOKEN=${VAULT_TOKEN}
DB_TYPE=${DB_TYPE}
## end
openssl req -newkey rsa:4096 -nodes -keyout domain.key -x509 -days 300 -out domain.crt
可能由于某个容器发生未知错误,需手动
docker rm -f 容器ID
docker plugin install rexray/s3fs S3FS_ACCESSKEY=minioadmin12 S3FS_SECRETKEY=minioadmin3 S3FS_ENDPOINT=http://192.168.0.14:9000 S3FS_REGION=my_region S3FS_DISABLEPATHSTYLE=false --grant-all-permissions
docker volume create -d rexray/s3fs
https://zhuanlan.zhihu.com/p/85333437
curl -sSL https://rexray.io/install | sh
/etc/rexray/config.yml
libstorage:
service: s3fs
s3fs:
accessKey: **** #minio的key
secretKey: ****
region: us-east-1
endpoint: http://172.17.0.2:9000 #minio的访问路径
disablePathStyle: false
options:
- url=http://172.17.0.2:9000
- use_path_request_style
- nonempty
- service rexray start
- rexray volume create testbucke
- rexray volume mount volume testbucket
- docker volume create -d reexray --name testbucket
- docker volume ls
- docker volume inspect testbucket
- volume 被容器挂载
https://github.com/s3fs-fuse/s3fs-fuse
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
yum install s3fs-fuse
mkdir -p /root/test/fuse_test
s3fs test /root/test/fuse_test -o passwd_file=${HOME}/.passwd-s3fs -o url=http://10.111.0.90:9000/
s3fs test /root/test/fuse_test -f -o passwd_file=${HOME}/.passwd-s3fs -s -o nomultipart -o sigv2 -o curldbg -o url=http://10.111.0.90:9000 -o use_path_request_style
s3fs download /minio_download -o passwd_file=${HOME}/.passwd-s3fs -s -o nomultipart -o sigv2 -o url=http://10.111.0.90:9000 -o use_path_request_style
docker run -d --name sshfs-container --mount type=volume,volume-driver=vieux/sshfs,src=sshvolume,target=/app,[email protected]:/devices/raid5/.minio/data/test,volume-opt=password=root123 nginx:latest
node attribute matches example
node.id Node ID node.id==2ivku8v2gvtg4
node.hostname Node hostname node.hostname!=node-2
node.role Node role node.role==manager
node.labels user defined node labels node.labels.security==high
engine.labels Docker Engine's labels engine.labels.operatingsystem==ubuntu 14.04
curl -L https://downloads.portainer.io/portainer-agent-stack.yml | docker stack deploy -c - --prune --with-registry-auth portainer
# init admin user:
curl --request POST http://127.0.0.1:9000/api/users/admin/init --data "{\"Username\":\"admin\",\"Password\":\"admin@admin\"}"
## get token
curl --request POST http://127.0.0.1:9000/api/auth --data '{"Username":"admin","Password":"admin@admin"}'