# 部署常用服务
# 数据库服务
# MySQL
docker run -itd \
--restart always \
--name mysql-dev \
-p 3307:3306 \
-v /docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
docker ps
docker logs mysql-dev
docker exec -it mysql-dev bash
mysql -h localhost -u root -p
create table class(
id int primary key auto_increment,
cname varchar(30) not null,
description varchar(100) null
);
show tables;
desc class;
insert into class (cname,description)
values
("linux","服务器知识"),
("mysql","数据库知识");
# MongoDB
docker run -itd \
--name mongo-dev \
-p 27017:27017 \
-v /docker/mongodb:/data/db \
mongo
接着使用以下命令添加用户和设置密码,并且尝试连接。
docker ps
docker logs mongo-dev
docker exec -it mongo-dev mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
db.auth('admin', '123456')
# Redis
# /docker/redis/redis.conf
# bind 127.0.0.1 //允许远程连接
protected-mode no
appendonly yes # 持久化
requirepass 123456 # 密码
docker run -itd \
--name redis-dev \
-p 6379:6379 \
-v /docker/redis/redis.conf:/etc/redis/redis.conf \
-v /docker/redis/data:/data \
redis
docker ps
docker logs redis-dev
docker exec -it redis-dev /bin/bash
# 安装文件服务
# 安装 Filebrowser
# 运行一个容器
docker run -d --name filebrowser filebrowser/filebrowser
# 拷贝配置
docker cp filebrowser:/srv /docker/filebrowser/data
docker cp filebrowser:/.filebrowser.json /docker/filebrowser/config.json
docker cp filebrowser:/database.db /docker/filebrowser/database.db
# 正式运行
docker run -d --restart=always \
--name filebrowser \
--user=root \
-v /docker/filebrowser/data:/srv \
-v /docker/filebrowser/config.json:/.filebrowser.json \
-v /docker/filebrowser/database.db:/database.db \
-p 28244:80 \
filebrowser/filebrowser
你可以打开 http://localhost:28224 来访问 showdoc (localhost 可改为你的服务器域名或者 IP)
# 安装 Showdoc
# 新建存放showdoc数据的目录,并设置权限
mkdir /docker/showdoc/html
chmod -R 777 /docker/showdoc/
# install_showdoc.sh
docker run -d --restart=always \
--name showdoc \
--user=root \
--privileged=true \
-p 4999:80 \
-v /docker/showdoc/html:/var/www/html/ \
star7th/showdoc
sh install_showdoc.sh
根据以上命令操作的话,往后 showdoc 的数据都会存放在 /showdoc_data/html 目录下。 你可以打开 http://localhost:4999 来访问 showdoc (localhost 可改为你的服务器域名或者 IP)。账户密码是 showdoc/123456,登录后你便可以看到右上方的管理后台入口。建议登录后修改密码。
升级
time=$(date "Y_%m%d")
mv /docker/showdoc/html /docker/showdoc/html_back
docker stop showdoc && docker rm showdoc
docker run -d --restart always --name showdoc \
-p 4999:80 \
-v /docker/showdoc/html:/var/www/html/ \
--user=root \
--privileged=true \
star7th/showdoc
cp -f /docker/showdoc/html_bak/Sqlite/showdoc.db.php docker/showdoc/html/Sqlite/showdoc.db.php
cp -f /docker/showdoc/html_bak/Public/Uploads/. docker/showdoc/html/Public/Uploads
chmod -R 777 /docker/showdoc/html
# 安装代码服务
# 安装 Gitea (推荐)
docker run -d \
--restart=always \
--name gitea \
-v /docker/gitea:/data \
-p 8080:3000 \
-p 8022:22 \
gitea/gitea
之后在配置界面设置外部访问地址为 http://yourwebsite/,设置 SSH 端口为 8022 你可以打开 http://localhost:8080 来访问 gogs (localhost 可改为你的服务器域名或者 IP)。
# 安装 Gogs
docker run -d --restart=always \
--name gogs \
-v /home/ubuntu/gogs:/data \
-p 10080:3000 \
-p 10022:22 \
gogs/gogs
之后在配置界面设置外部访问地址为 http://yourwebsite/,设置 SSH 端口为 10022 你可以打开 http://localhost:10080 来访问 gogs (localhost 可改为你的服务器域名或者 IP)。
# 安装 Gitlab
export GITLAB_HOME=/docker/gitlab
sudo docker run --detach \
--restart always \
--name gitlab \
--publish 8443:443 --publish 8080:80 --publish 8022:22 \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ee:latest
# 查看 root 用户密码
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
# 编辑配置文件
vi /docker/gitlab/config/gitlab.rb
# 重启
docker restart gitlab
# 或者重载配置
docker exec -it gitlab gitlab-ctl reconfigure
# 安装穿透服务
# 安装 FRP
mkdir /docker
mkdir /docker/frp
cd /docker/frp
docker pull chenhw2/frp
服务端 假设 IP 为 123.123.123.123
docker run -d --restart=always --name frps \
-e "ARGS=frps" \
-v /docker/frp/frps.ini:/frp/frps.ini \
--net host \
chenhw2/frp
服务端配置
# frps.ini
[common]
bind_port = 7000
bind_udp_port = 7000
token = 建议随机生成
客户端
docker run -d --restart=always --name frpc \
-e "ARGS=frpc" \
-v /docker/frp/frpc.ini:/frp/frpc.ini \
--net host \
chenhw2/frp
# frpc.ini
[common]
server_addr = 123.123.123.123
server_port = 7000
token = 和服务端设置的保持一致
[bt]
type = tcp
local_ip = 127.0.0.1
local_port = 18888
remote_port = 28888
[file]
type = tcp
local_ip = 127.0.0.1
local_port = 28244
remote_port = 38244