mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| docker pull mysql:5.7
docker network create --subnet=172.19.0.0/24 mysql-net
docker run -d -p 3301:3306 --net=mysql-net --ip 172.19.0.2 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --privileged --name=mysql1 mysql:5.7
docker exec -it mysql1 bash
mysql -uroot -p123456
docker container inspect mysql1
1:docker exec -it mysql1 mysql -uroot -p 2:mysql -h172.19.0.1 -P3301 -uroot -p123456
|
ftp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| docker pull fauria/vsftpd
docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 \ -v /data/vsftpd:/home/vsftpd \ -e FTP_USER=popoftp -e FTP_PASS=ftp123456 \ -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \ --name vsftpd1 --restart=always fauria/vsftpd
docker exec -i -t vsftpd bash vi /etc/profile
export LANG=en_US.utf8
source /etc/profile
|
https://www.jianshu.com/p/c84f6e6de002
mongo
1 2 3 4 5 6 7 8 9 10 11 12
| docker pull mongo:3.6.15
docker network create --subnet=172.20.0.0/24 mongo-net
docker run --name mongo1 -p 27017:27017 -d --net=mongo-net -v /data/mongo/db:/data/db -v /data/mongo/backup:/data/backup -v /data/mongo/configdb:/data/configdb mongo:3.6.15 --auth
docker exec -it mongo1 bash docker exec -it mongo1 mongo -uxxx -pxxx
|
创建用户一直提示失败
- 有可能是以前数据没删除干净,以前用户保留了
- 以不是auth的方式创建一次docker,先创建了用户后关闭,在重新创建auth的mongo
zookeeper
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker pull zookeeper
docker run --privileged=true -d -v /data/zookeeper/data:/data -v /data/zookeeper/conf:/conf --name zookeeper --publish 2181:2181 zookeeper:latest
docker run -d -v /data/zookeeper/data:/data -v /data/zookeeper/conf:/conf --name zookeeper --publish 2181:2181 zookeeper:latest
docker exec -it zookeeper bash
./bin/zkCli.sh -server ./bin/zkCli.sh -server 192.168.75.130:2181
|
redis
自定义redis.conf的时候,redis.conf 中需要daemonize=NO,非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| docker pull redis
docker network create --subnet=172.101.0.0/24 redis-net
docker run -p 6301:6301 --name redis001 --net=redis-net -v /data/redis001/conf/redis.conf:/etc/redis/redis.conf -v /data/redis001/data:/data/cache -v /data/redis001/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
docker run -p 6311:6311 --name redis011 --net=redis-net -v /data/redis011/conf/redis.conf:/etc/redis/redis.conf -v /data/redis011/data:/data -v /data/redis011/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
docker exec -it redis001 /bin/bash
|
蠢方法
进入docker在创建日志文件,然后重新启动。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker run -it --name redis-3 -v /root/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 redis /bin/bash
docker exec -it redis-3 bash
mkdir /var/log/redis/ touch /var/log/redis/redis.log
redis-server /usr/local/etc/redis/redis.conf
redis-cli
|
集群测试
- 如果是同一台机器搭建,所有的数据服务器的端口号不要一样,不然只会有一台从服务器给哨兵识别。
- 如果是同一台机器搭建,所有的哨兵的端口号最好也不要一样。
- 如果是同一台机器搭建,所有的哨兵的pid不要一样。
redis.conf特殊处理
命令参考1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
docker network create --subnet=172.101.0.0/24 redis-net
docker run -p 6301:6301 --name redis001 --net=redis-net -v /data/redis001/conf/redis.conf:/etc/redis/redis.conf -v /data/redis001/data:/data/cache -v /data/redis001/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
redis-cli -p 6301
docker run -p 6311:6311 --name redis011 --net=redis-net -v /data/redis011/conf/redis.conf:/etc/redis/redis.conf -v /data/redis011/data:/data/cache -v /data/redis011/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
redis-cli -p 6311
slaveof 172.26.245.222 6301
docker run -p 6312:6312 --name redis012 --net=redis-net -v /data/redis012/conf/redis.conf:/etc/redis/redis.conf -v /data/redis012/data:/data/cache -v /data/redis012/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
redis-cli -p 6312
slaveof 172.26.245.222 6301
docker run -p 6313:6313 --name redis013 --net=redis-net013 -v /data/redis013/conf/redis.conf:/etc/redis/redis.conf -v /data/redis013/data:/data/cache -v /data/redis013/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/redis.conf --appendonly yes
redis-cli -p 6313
slaveof 172.26.245.222 6301
docker run -p 26311:26311 --name redis021 --net=redis-net -v /data/redis021/conf/sentinel.conf:/etc/redis/sentinel.conf -v /data/redis021/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/sentinel.conf --sentinel
redis-cli -p 26311
info sentinel
docker run -p 26312:26312 --name redis022 --net=redis-net -v /data/redis022/conf/sentinel.conf:/etc/redis/sentinel.conf -v /data/redis022/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/sentinel.conf --sentinel
redis-cli -p 26312
info sentinel
docker run -p 26313:26313 --name redis023 --net=redis-net -v /data/redis023/conf/sentinel.conf:/etc/redis/sentinel.conf -v /data/redis023/log/redis.log:/var/log/redis/redis.log -d redis redis-server /etc/redis/sentinel.conf --sentinel
redis-cli -p 26313
info sentinel
docker stop redis001
|
https://www.cnblogs.com/fan-gx/p/11463400.html
memcached
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker pull memcached
docker network create --subnet=172.71.0.0/24 memcached-net
docker run -d -p 11211:11211 --net=memcached-net --name memcached01 memcached
telnet xx.xxx.xx.xx 11211
set h1 0 900 6 123456
|
gitbook
1 2 3
| docker run -v /data/gitbook:/srv/gitbook -v /data/gitbook/html:/srv/html --name gitbook fellah/gitbook build . /srv/html docker run -v /data/gitbook:/srv/gitbook -v /data/gitbook/html:/srv/html fellah/gitbook gitbook build . /srv/html docker run --name my-nginx -v /data/gitbook/html:/usr/share/nginx/html -d -p 8080:80 nginx
|
nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| docker pull nginx:1.15.3
mkdir /data/nginx mkdir /data/nginx/logs mkdir /data/nginx/conf mkdir /data/nginx/www mkdir /data/nginx/vhost mkdir /data/nginx/html
docker run -d \ -p 80:80 \ -p 443:443 \ -v /data/nginx/logs:/var/log/nginx \ -v /data/nginx/conf.d:/etc/nginx/conf.d \ -v /data/nginx/conf.crt:/etc/nginx/conf.crt \ -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /data/nginx/html:/usr/share/nginx/html \ --name nginx1 nginx:1.15.3
|
gitlab
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
docker pull gitlab/gitlab-ce:12.10.3-ce.0
mkdir -p /data/gitlab/config mkdir -p /data/gitlab/logs mkdir -p /data/gitlab/data
docker run \ -d \ --restart unless-stopped \ -p 3380:80 \ -p 3322:22 \ -p 3443:443 \ -v /data/gitlab/config:/etc/gitlab \ -v /data/gitlab/logs:/var/log/gitlab \ -v /data/gitlab/data:/var/opt/gitlab \ --name gitlab gitlab/gitlab-ce:12.10.3-ce.0
vim /data/gitlab/config/gitlab.rb
external_url 'http://xxxx.okeyfun.com'
vim /data/gitlab/data/gitlab-rails/etc/gitlab.yml
host: xxxx.okeyfun.com port: 80 https: false
docker restart gitlab
|
使用外部nginx进行域名配置和跳转gitlab
1 2 3 4 5 6 7 8
| server { listen 80; server_name xxxx.okeyfun.com;
location / { proxy_pass http://内网ip:3380; } }
|
jenkins
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| docker pull jenkins/jenkins:centos7
mkdir -p /data/jenkins chown 1000:1000 /data/jenkins
docker run -itd \ -p 8080:8080 \ -p 50000:50000 \ -v /data/jenkins:/var/jenkins_home \ --privileged=true \ --name jenkins jenkins/jenkins:centos7
cat /data/jenkins/secrets/initialAdminPassword
|
ansible-tower
1 2 3 4 5 6 7 8 9
| # 拉取 docker pull ybalt/ansible-tower:latest
# docker run -d -p 6643:443 -v /data/ansible:/var/lib/postgresql/9.6/main --name ansible ybalt/ansible-tower docker run -d -p 6643:443 --name ansible ybalt/ansible-tower
docker create -v /var/lib/postgresql/9.6/main --name tower-data ybalt/ansible-tower /bin/true docker run -d -p 443:443 --name tower --volumes-from tower-data ybalt/ansible-tower
|
gitbook
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # 1. 拉取或下载gitbook https://github.com/GitbookIO/gitbook
# 2. 在项目目录创建Dockerfile vim Dockerfile # 2.1 下面的是内容 FROM node:20.16
WORKDIR /app
COPY package.json . RUN npm install
COPY . .
EXPOSE 4000
CMD ["npm", "start"]
# 3. 构建docker镜像 docker build -t gitbook .
# 4. 运行docker容器 docker run -p 8639:4000 gitbook
|