天天看點

Docker部署openclinica

1. 環境說明
   阿裡雲ECS伺服器,Centos7.6 2c4G           
2. 安裝Docker
$ yum install -y yum-utils device-mapper-persistent-data lvm2           
添加軟體源資訊
$ yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo           
更新并安裝Docker-CE
$ yum makecache fast
#查詢可安裝的版本,這裡安裝19.03版本
$ yum list docker-ce --showduplicates | sort -r
$ yum install -y docker-ce-19.03.11           
配置Docker鏡像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://oqs2ckmq.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker           
3. 安裝Postgres用于資料存儲
$ docker run --name postgresql --hostname=postgresql -p 5432:5432 -v /data/postgresql.docker:/var/lib/postgresql/data  --memory=128m -e POSTGRES_PASSWORD=******* --restart=always -d postgres
#進入容器
#建立臨床角色: 
/opt/PostgreSQL/8.4/bin/psql -U postgres -c " CREATE ROLE Clinica LOGIN ENCRYPTED PASSWORD 'clinica' SUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE " 
#建立資料庫: 
/opt/PostgreSQL/8.4/bin/ psql -U postgres -c "建立資料庫 openclinica WITH ENCODING='UTF8' OWNER=clinica"
#為了增加安全性,更改角色的密碼:
#運作以下指令進入 psql 提示符:
/opt/PostgreSQL/8.4/bin/psql -U postgres

#在 psql 提示符下輸入此指令(用安全密碼替換 XXXX): 
ALTER USER Clinica WITH PASSWORD ' XXXX ' ;

#運作以下指令退出 psql 提示符:
\q           
4. 安裝Openclinica
$ docker container run --name oc -h oc -d -v oc-data:/usr/local/tomcat/openclinica.data \
 -p 80:8080 \
 -e LOG_LEVEL=INFO \
 -e TZ=UTC-1 \
 -e DB_TYPE=postgres \
 -e DB_HOST=資料庫IP \
 -e DB_NAME=資料庫名稱 \
 -e DB_USER=使用者 \
 -e DB_PASS=密碼 \
 -e DB_PORT=5432 \
 -e SUPPORT_URL="https://www.openclinica.com/community-edition-open-source-edc/" \
 piegsaj/openclinica:latest           
5. 驗證
通路位址: http://IP/OpenClinica/
預設使用者:root
密碼:12345678
第一次登入需要修改密碼           
6. 忘記密碼重置
需要進入資料庫檢視openclinica庫裡的user_account表裡的passwd字段,加密方式采用MD5,可複制裡面加密資訊,去解密拿到密碼