Showing posts with label docker. Show all posts
Showing posts with label docker. Show all posts

Thursday, September 7, 2023

Setup bitnami-redmine-5.0.5 in Centos

 整體基於這個網址,記錄其中操作的錯誤及安裝過程,以防日後再次需要安裝︰
https://hub.docker.com/r/bitnami/redmine

查看docker狀態︰
sudo systemctl status docker
如果docker沒有開啓,可以先開啓服務︰
sudo systemctl start docker
檢查當前用戶有沒有docker權限︰
groups
如果沒有docker群組,可以先創建群組再加入當前用戶︰
sudo groupadd docker
sudo usermod -aG docker <your_username>
重新登出再登入更新群組,如果不想登出,可以強制使用指令︰
newgrp docker

進入安裝步驟,下載docker文件︰
sudo docker pull bitnami/redmine:latest
sudo docker pull bitnami/mariadb:latest
sudo docker images

啓用docker
sudo docker network create redmine-network
sudo docker volume create --name mariadb_data;
sudo docker run -d --name mariadb \
  --env ALLOW_EMPTY_PASSWORD=no \
  --env MARIADB_USER=bn_redmine \
  --env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_redmine \ --network redmine-network \ --volume mariadb_data:/bitnami/mariadb \ bitnami/mariadb:latest
sudo docker volume create --name redmine_data中
sudo docker run -d --name redmine \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=no \
  --env REDMINE_DATABASE_USER=bn_redmine \
  --env REDMINE_DATABASE_PASSWORD=bitnami \
--env REDMINE_DATABASE_NAME=bitnami_redmine \ --network redmine-network \ --volume redmine_data:/bitnami/redmine \ bitnami/redmine:latest
sudo docker start mariadb
sudo docker start redmine


Tuesday, July 9, 2019

docker: nvidia-docker 運行起來報錯

nvidia-docker
# /usr/bin/nvidia-docker: line 34: /usr/bin/docker: Permission denied
# /usr/bin/nvidia-docker: line 34: /usr/bin/docker: Success

解決方案︰
sudo semanage fcontext -a -t container_runtime_exec_t /usr/bin/nvidia-docker
sudo restorecon -v /usr/bin/nvidia-docker

Reference:
https://github.com/NVIDIA/nvidia-docker/issues/814#issuecomment-466916779

docker: 綁定docker container和hosting目錄

sudo docker run -d -v [host的絕對路徑]:[container的絕對路徑] [container的名字]
例如︰
sudo docker run -d -v /home/mkytap/models:/train/models mt-train:v1.0

docker: 導入流程

第一部份︰安裝
# 如果本來有docker 的話可以先清乾淨
sudo yum remove docker  docker-common docker-selinux docker-engine

# 因為docker 中要使用nvidia,所以要加上這個git
git clone https://github.com/NVIDIA/nvidia-docker.git

# 安裝過程如下
# 如果有1.0 已安裝,先移除
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo yum remove nvidia-docker

# 加入repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

# 安装yum-utils是为了安装yum-config-manager工具。
sudo yum -y install yum-utils

# 安装源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo yum install -y nvidia-docker2 # 需要裝docker-ce, 如有問題看下面(錯誤1)
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
# docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi # 我這步沒有測試,應該沒關係


錯誤1︰
在yum install 時遇到以下錯誤︰
Error: Package: nvidia-docker2-2.0.3-3.docker18.09.7.ce.noarch (nvidia-docker)
           Requires: docker-ce = 3:18.09.7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

看來是沒有docker-ce︰
# 安装yum-utils是为了安装yum-config-manager工具。
sudo yum -y install yum-utils

# 安装源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce

安裝docker-ce成功。



第二部份︰導入
#先開docker service
sudo service docker start
# 導入docker 鏡像︰
sudo docker load < xxx.tar


第三部份︰運行
# 用以下命令先看名字
sudo docker images
# REPOSITORY: xxx; TAG: yyy
sudo docker run -i -t xxx:yyy /bin/bash


Wednesday, February 13, 2019

docker: nginx + php

下載docker images
docker pull nginx
docker pull bitnami/php-fpm

運行php-fpm和nginx,使用/var/www/html作為host的網頁目錄,不用進入docker進行修改
docker run -d -v /var/www/html:/usr/share/nginx/html --name php-fpm docker.io/bitnami/php-fpm
docker run -d --name nginx -p 8888:80 -v /var/www/html:/usr/share/nginx/html docker.io/nginx

檢查是否運行,以及IP位置
docker ps -a
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

Option 1: 進入nginx修改網頁IP位置,不想在container裏面裝vi的話看下一步。
docker exec -it nginx /bin/bash
vi /etc/nginx/conf.d/default.conf

Option 2: 可以複製出來再修改
docker cp nginx:/etc/nginx/conf.d/default.conf ./
vi default.conf
修改後再放回去
docker cp ./default.conf  nginx:/etc/nginx/conf.d/default.conf

修改這幾項,填入上一步查詢到的IP,其他保留︰
service_name = [[NGINX_IP]];
location / {
   root  /usr/share/nginx/html;
   index  index.php index.html index.htm;
}
location ~ \.php$ {
   fastcgi_pass   [[PHP_FPM_IP]]:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
   fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
   include        fastcgi_params;
}

重啓nginx即可成功。
docker restart nginx

使用host的IP + 8888 port就可以訪問。
例如192.168.199.2:8888



中間筆記 不用理:

進入container
docker exec -it myNginx /bin/bash
離開
ctrl+p+q



docker run --restart=always --name mysql -v /etc/localtime:/etc/localtime:ro -p 3306:3306 -v /works/db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootroot -e MYSQL_DATABASE=test_project -e MYSQL_USER=project -e MYSQL_PASSWORD=12345678 -d mysql/mysql-server:5.5

docker run --restart=always --name php-fpm_5.2 -v /etc/localtime:/etc/localtime:ro -v /works/www:/works/www --link mysql:db -d helder/php-5.2

docker run --restart=always --name nginx -v /etc/localtime:/etc/localtime:ro -p 80:80 -e NGINX_SITE_ROOT=/works/www -v /works/www:/works/www -v /works/nginx/log:/var/log/nginx/ --link php-fpm_5.2:phpfpm -d nginx