前言
银河麒麟采用arm64架构,所以需要准备arm架构的离线安装包,不同系统架构的tar包不一样,尽可能保持tar包与系统架构一致,这样在部署的时候才会少踩坑。
百度网盘连接地址:
链接: https://pan.baidu.com/s/1ze04vHJO4WV6ZIYQK5n7_w 提取码: i33s
1.下载完网盘中的安装包后在自个本地解压安装包然后上传到自己的银河麒麟系统上,下图框选的是安装docker的启动脚本。在麒麟系统下直接用:./install.sh docker-29.1.3.tgz 安装即可。在安装postgres前必须先把docker安装了,卸载docker话用: ./uninstall.sh

2.安装完dockeer后,如果只安装pg数据库就把pg的镜像tar包加载下,使用命令:docker load -i postgres16.tar。如果需要安装Redis、Nginx、都是一样的命令,只不过后边跟的tar包名称换成Redis的或者Nginx的。
3.把镜像加载完后,然后使用docker images命令查看镜像是否加载成功。
4.如果docker images后镜像加载成功,那么接下来就开始docker run来启动了。
启动Redis:
sudo docker run -d \
--name my-redis \
--restart=always \
-p 6379:6379 \
-v redis_data:/data \
redis:7.0 \
redis-server --requirepass "这里设置自己Redis的连接密码"
启动Postgres:
sudo docker run -d \
--name my-postgres-svm \
--restart=always \
-p 5432:5432 \
-e POSTGRES_PASSWORD=这里修改成自己的Postgres的连接密码 \
-v postgres_data:/var/lib/postgresql/data \
postgres16:latest
pg数据库启动后需要给把库名建好在把自己的表结构导入到pg中去,使用下边命令:
1.创建数据库名:
sudo docker exec -it 这里写启动pg的容器名 createdb -U postgres 这里指定自己的数据库名
举例:sudo docker exec -it my-postgres-svm createdb -U postgres meteo-analytics
2.进入pg容器内部:
sudo docker exec -it 这里写启动pg的容器名 psql -U postgres
举例:sudo docker exec -it my-postgres-svm psql -U postgres
3. 导入 SQL 脚本
sudo docker exec -i 这里写启动pg的容器名 psql -U postgres -d 这里指定自己的数据库名 < /home/01/software/installationpackage/docker/自己的数据库脚本.sql
举例:sudo docker exec -i my-postgres-svm psql -U postgres -d meteo-analytics < /home/01/software/installationpackage/docker/aviation_data.sql
4.将表结构导入后可以查看和切换数据库,使用下边命令:
\l 列出所有数据库
\c databasename 切换数据库
\dt 列出当前数据库的所有表
\d table_name 查看某张表的结构
\du 列出所有用户
\q 退出 psql
启动Nginx:
-v 是挂在宿主机和容器内的目录。
-p 端口自己指定。
docker run -d \
--name my-nginx \
--restart=always \
--user root \
-p 8081:80 \
-v /home/01/software/installationpackage/docker/data/tianditu/html:/usr/share/nginx/html \
nginx:latest