docker一些操作

查看容器

1
docker ps

进入容器

1
2
#43为docker查看的容器id
docker exec -it 43 /bin/bash

连接到PostgreSQL数据库

1
2
3
4
5
psql -h db -U joplin -d joplin
# 查看表
\dt
#远程访问
psql -h 192.168.2.20 -U joplin -d joplin

在docker容器中安装curl

1
2
apt-get update
apt-get install curl

查看现有的 Docker 镜像

要查看系统中现有的 Docker 镜像,可以使用以下命令:

1
sudo docker images

导出 Docker 镜像

如果你需要备份或迁移 Docker 镜像,可以使用 docker save 命令将其导出为 tar 文件。请确保你在执行这些命令的目录中具有写入权限。

导出 PostgreSQL 镜像

1
docker save -o postgres_16.tar postgres:16

这条命令会将名为 postgres:16 的镜像导出到当前目录下的 postgres_16.tar 文件中。

恢复 Docker 镜像

当你需要从备份文件中恢复 Docker 镜像时,可以使用 docker load 命令。同样,请确保你在执行这些命令的目录中具有读取权限。

恢复 PostgreSQL 镜像

1
docker load -i postgres_16.tar

这条命令会从 postgres_16.tar 文件中恢复 PostgreSQL 镜像。

传输镜像文件

如果您需要将镜像文件传输到另一台机器或云服务,您可以使用 scprsync 或其他文件传输工具来完成这一步。例如,使用 scp 传输文件的命令可能如下:

1
scp myimage_latest.tar user@remotehost:/path/to/destination

在远程主机上,您可以使用 docker load 命令来导入镜像。

优化镜像大小(可选)

如果您需要进一步减小镜像的大小,可以考虑使用 docker-slim 工具来优化和压缩镜像,然后再进行传输和加载。

joplin 80访问配置文件

vim docker-compose.yml

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
services:
db:
image: postgres:16
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DATABASE}
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "80:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=${APP_BASE_URL}
- DB_CLIENT=pg
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=db

vim .env

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POSTGRES_PASSWORD=joplin
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
# POSTGRES_HOST=localhost

# =============================================================================
# DEV CONFIG EXAMPLE
# -----------------------------------------------------------------------------
# Example of local config, for development. In dev mode, you would usually use
# SQLite so database settings are not needed.
# =============================================================================
#替换IP
APP_BASE_URL=http://192.168.2.20:80
# APP_PORT=22300
1
2
3
sudo systemctl daemon-reload
sudo systemctl restart docker
docker-compose up -d``

docker一些操作
http://example.com/2024/09/16/38fff5bf00c24e76a9b2736c12cbcbb6/
作者
John Doe
发布于
2024年9月16日
许可协议