Files
obsidian_note/技术探究/docker容器/docker 常用软件.md

120 lines
2.8 KiB
Markdown
Raw Normal View History

2025-12-04 09:12:56 +08:00
## 阿里云 ECS 安装 docker
> https://developer.aliyun.com/article/1662498
## 普通用户入组
```
sudo usermod -aG docker userapp
```
## nginx-proxy
```
docker run -d -p 9024:80 -p 9025:81 -p 9026:443 -v /data/letsencrypt:/etc/letsencrypt -v /data/nginx-proxy-manager/data:/data --name nginx-proxy-manager docker.io/jc21/nginx-proxy-manager:latest
```
## portainer
```shell
docker run -d -p 9000:9000 --name porainer -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer:/data --restart=always portainer/portainer-ce:2.19.4
```
## mysql
/data/mysql/conf
```shell
touch my.cnf
```
```text
[client]
default_character_set=utf8mb4
[mysql]
default_character_set=utf8mb4
[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4
```
```shell
docker run -p 9090:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
```
## nginx
1. 生成容器
1. 将容器nginx.conf文件复制到宿主机
1. 将容器conf.d文件夹下内容复制到宿主机
1. 将容器中的html文件夹复制到宿主机
```
docker run --name nginx -p 9001:80 -d nginx
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 删除正在运行的nginx容器
docker rm -f nginx
docker run \
-p 9002:80 \
--name nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest
```
## redis
配置文件
![[redis.conf]]
```
docker run -p 6379:6379 --name redis -v /data/redis/data:/data -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
```
## docker Jenkins
https://blog.csdn.net/weixin_44000133/article/details/132189696
## filebrowser
### 注意!!!! 需要先创建文件,不是文件夹
```
docker run \
-v /path/to/root:/srv \
-v /path/to/filebrowser.db:/database/filebrowser.db \
-v /path/to/settings.json:/config/settings.json \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-p 8080:80 \
-d \
--name filebrowser \
filebrowser/filebrowser:v2.25.0-s6
```
```json
settings.json
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database/filebrowser.db",
"root": "/srv"
}
```
## ssh web niruix/sshwifty
```
ssl 凭据
openssl req -newkey rsa:4096 -nodes -keyout domain.key -x509 -days 90 -out domain.crt
mkdir -p /data/sshwifty
docker run --detach \
--restart always \
--publish 8182:8182 \
--env SSHWIFTY_DOCKER_TLSCERT="$(cat domain.crt)" \
--env SSHWIFTY_DOCKER_TLSCERTKEY="$(cat domain.key)" \
--name sshwifty \
niruix/sshwifty:latest
```