Docker 컨테이너에서 Pleasanter PostgreSQL 호환 버전 실행
8350 단어 DockerPleasanter
입문
기대했던 Pleasanter Postgre SQL 대응 버전이 출시되었습니다!
Linux에서 확장된 경우NetCore 버전은 이전에 공개되었지만 SQL Server를 사용하고 싶지 않습니다. 저도 그렇게 생각합니다.
DB에서 PostgreSQL을 사용하면 여러 가지 제한이나 비용이 적용됩니다.
여기에 약간의 시간을 더해서 Pleasanter가 Docker 컨테이너 환경에서 운행하도록 하고 싶습니다.
docker 설치
나는 너를 베어 사랑한다.다른 사이트 등을 참조하여 설치하십시오.
PostgreSQL 컨테이너
FROM postgres:12.2
RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG ja_JP.utf8`
$ docker build -t mypostgres:12.2 .
PostgreSQL에 docker 이미지를 생성했는지 확인할 수 있습니다.$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mypostgres 12.2 1fe9d8a7f265 17 seconds ago 318MB
$ docker network create -d bridge mynetwork
네트워크가 생성되었습니다.$ docker network ls
NETWORK ID NAME DRIVER SCOPE
ab78a3703a75 bridge bridge local
54459fa57282 host host local
e975faae9194 mynetwork bridge local
cda8e2c61db1 none null local
$ docker run -d --name mypostgres12 -e POSTGRES_PASSWORD=password --net="mynetwork" mypostgres:12.2
PostgresSQL 컨테이너가 시작되었는지 확인합니다.$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5ebba7a31bed mypostgres:12.2 "docker-entrypoint.s…" 17 seconds ago Up 15 seconds 5432/tcp mypostgres12
$ docker exec -it mypostgres12 bash
# su - postgres
$ psql
postgres=# create database "Implem.Pleasanter";
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------------+----------+----------+------------+------------+-----------------------
Implem.Pleasanter | postgres | UTF8 | ja_JP.utf8 | ja_JP.utf8 |
이로써 DB 컨테이너(PostgreSQL)의 준비 작업이 완료되었습니다.Pleasanter 용기
$ docker run --privileged -d --name pleasanter --net="mynetwork" -p 8080:80 pleasanter-centos7 /sbin/init
컨테이너가 시작되었는지 확인합니다.$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f272229599c pleasanter-centos7 "/sbin/init" 10 seconds ago Up 9 seconds 0.0.0.0:8080->80/tcp pleasanter
$ docker exec -it pleasanter bash
# yum -y install git
# rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
# yum -y update
# yum -y install dotnet-sdk-3.1
# yum -y install epel-release
# yum -y install libgdiplus
본 사이트의 예에서 "/web"디렉터리 아래에 "pleasanter"디렉터리를 설정했습니다.
/web/pleasanter/
{
"Dbms": "PostgreSQL",
"Provider": "Local",
"TimeZoneInfo": "Asia/Tokyo",
"SaConnectionString": "Server=mypostgres12;Database=postgres;UID=postgres;PWD=password",
"OwnerConnectionString": "Server=mypostgres12;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD",
"UserConnectionString": "Server=mypostgres12;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD",
"SqlCommandTimeOut": 600,
"MinimumTime": 3,
"DeadlockRetryCount": 4,
"DeadlockRetryInterval": 1000
}
# cd /web/pleasanter/Implem.CodeDefiner
# dotnet Implem.CodeDefiner.NetCore.dll _rds
[Unit]
Description = Pleasanter
Documentation =
Wants=network.target
After=network.target
[Service]
ExecStart = /usr/bin/dotnet Implem.Pleasanter.NetCore.dll
WorkingDirectory = /web/pleasanter/Implem.Pleasanter
Restart = always
RestartSec = 10
KillSignal=SIGINT
SyslogIdentifier=dotnet-pleasanter
User = root
Group = root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy = multi-user.target
# systemctl daemon-reload
# systemctl enable pleasanter
# systemctl start pleasanter
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# yum -y install nginx
# systemctl enable nginx
server {
listen 80;
server_name 192.168.0.200;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
※server_name 행에는 실제 액세스 시 IP 주소 또는 호스트 이름이 포함됩니다.# systemctl restart nginx
사용 시작
웹 브라우저를 통해 접근(192.168.0.200:8080/users/login)한 후 로그인 화면을 표시합니다.
ID:Administrator
PW:pleasanter
※ 첫 로그인 시 PW 변경이 요구되므로 원하는 PW를 설정하십시오.
끝내다
이번에는 공식 사이트의 절차를 토대로 플레젠터를 도커 용기에 배치해 응용 프로그램과 DB를 각각 다른 용기로 만들었다.
상기 예에서 실시하지 않았지만 실제 사용 상황에서 DB와 응용 프로그램 데이터의 영구화 등도 연구해야 한다.
Reference
이 문제에 관하여(Docker 컨테이너에서 Pleasanter PostgreSQL 호환 버전 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ta24toy27/items/986b3057e08f3da2fc06텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)