講義:https://sites.google.com/view/linuxserver/
卓國興老師
新增一個ubuntu虛擬機
硬碟20G
raid 1
可分離式啟動
安裝ubuntuServer 18.04(載入檔案)==自己去下載https://www.ubuntu-tw.org/modules/tinyd0/
以上是host用
docker是引擎,用來產生很多容器,容器產生服務
安裝docker
1.關機
sudo poweroff
2.設定值,網路,介面卡1,橋接介面卡,確定
3分離式啟動
取得電腦教室網段之IP(203.68.102.xx)
4.用putty連接
輸入host ip
用ssh
apperance=>字調大
open
輸入帳號密碼
安裝docker
curl -sSL https://get.docker.com | sudo sh
ifconfig
203.68.102.204
sudo usermod -aG docker ubuntu
重開機(reboot)
就可以直接以ubuntu身份身用docker
==============================================================
用putty重連
Pull第一個映像檔
docker search ==> docker pull
docker pull ubuntu(不選版本就會裝最新的18.04)
docker images 可看到安裝資訊
再來是產生容器=>docker run
1.docker run -it --name firstubuntu ubuntu
2.進入容器(使用者名稱改變)
3.ps
4.exit
===============================================================
docker ps
docker ps -a
docker start 容器名稱
docker ps =>(容器啟動)
docker attach 容器名稱
apt update
apt install apache2 => 安裝apache2(安裝什麼都與host機完全無關)
按下 ctrl + P 然後 ctrl + Q 跳離容器,讓它繼續在背景執行(不可以用EXIT)
==============================================================
簡易WEB UI docker portainer
docker run -d --privileged --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always -v /portainer/data:/data portainer/portainer
203.68.102.204:9000 (利用port 9000進入管理介面)
admin / 12345678
選local連結即可
Console => 可以直接操作安裝軟體
容易優點==>速度快,以秒計算 (VM慢)
=================================================================
<映像檔儲存及轉移>
<製作映像檔>
進入Console
cd /etc/apache2
ls
進入firstubuntu
create image
image名稱:ubuntuapache2:v1 =>create
回putty docker images
看看是否有沒有V1產生
所以可以先進console把要裝的軟體裝好,然後製作新的image
unused =>表示還沒有被任何容器所使用
移除=>打勾delete即可
<用映像檔去產生容器>
1.create container(右上角add container)
2.選image
3./bin/bash (下面Command entry point)
4.interactive & TTY
5.deploy the container
容器中的apache2要對外服務時怎麼處理?
本來只能夠對內服務(127.0.0.1)
要轉port
1.再重建一次container,map additional port
2.host 80 -> container 80
3.讓容器自動啟動apache2
comand設置:apachectl -D FOREGROUND(這樣,會自動啟動容器的apache2)
貼在command裏
4.interactive & TTY
5.deploy the container
補充:pipework=>設定容器固定IP的工具D,即可讓容器使用自己的實體ip直接對外服務
==================================================================
製作個人儲存雲
nextcloud
1.從docker裝最快
2.http://github.com/nextcloud/docker
3.docker run -d -p 8080:80 nextcloud 貼上
<資料分離>--以免容器損壞導致資料遺失
1.製作raid1的磁碟
2.容器都刪掉,機器先關機
3.virtualbox設定值
存放裝置,sata控制器,加硬碟(建立新的),50G raid1-1,再加1顆,50G raid1-2
4.分離啟動
5.用putty連進去
sudo fdisk -l
sudo fdisk /dev/sdb
n
p
w寫入
sudo sfdisk -d /dev/sdb | sudo sfdisk /dev/sdc
sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb1 /dev/sdc1 -L bt0
sudo btrfs fi show
以下為測試步驟
sudo su
mkdir /mnt/raid1
mount /dev/sdb1 /mnt/raid1/
cd /mnt/raid1/
ls
touch test{1..100}
cd
umount /dev/sdb1
cd /mnt/raid1/
ls
cd
mount /dev/sdc1 /mnt/raid1/
cd /mnt/raid1/
ls
設定開機自動掛載
rm -f *
btrfs fi show
複製uuid
vi /etc/fstab
新增 UUID=(貼上) /mnt/raid btrfs defaults 0 2
寫入
mkdir /mnt/raid
reboot
df -h
重新進入portainer
做磁碟映射
1.新增一個container
nextcloud
image:nextcloud
8080 -> 80
2.volumes
增加一個map
/var/www/html -> bind -> host:/mnt/raid/nextclouds
3.開機自動啟動nextcloud容器
restart policy 選 always
重新啟動
cd /mnt/raid
ls
cd nextclouds/
ls
進入203.68.102.204:8080
試著上傳幾個檔案
把容器移除掉再重做一次,看看資料是否仍然存在
==========================================
安裝docker-compose,讓整體設計更有效率
sudo apt install docker-compose
搜尋ubuntu18.04 docker-compose
下載filezilla 透過22port連線
把docker-dompose.yaml檔上傳
docker-compose up -d 新增
docker-compose down 移除
cd /mnt/raid
ls
sudo rm -rf nextcloud/
ls
cd
docker-compose up -d
選Mariadb
nextcloud
1234
nextcloud
10.1.1.2
========================================================
右上齒輪設定
左下其它設定
上傳限制==>放大到10G
啟用app(如Audio Player)會出現在應用程式裏有圖示
========================================================
與openvpn的結合應用
若是使用不同的網路區段,你想要存取nextcloud,當然就可以透過之前介紹的oenvpn架設,讓你的HOST機vpn ip與你手機或筆電vpn ip,透過openvpn而被整合為相同的vpn網路,你就可以隨時隨地群取你的私有雲,不管你是使用 4G 或其他外面的wifi
把host變成openVPN server
開放host的80port,讓不同網段的設備可連線管理其它port號的服務
透過80port建立VPN的通道,繞過防火牆
預設port:1194 / udp
1.open source版下載位置:https://openvpn.net/index.php/download/community-downloads.html
2.wget https://git.io/vpn -O openvpn-install.sh
3.sudo bash openvpn-install.sh
問ip(最好是固定)
(UDP)2(TPC),若已開80就選2
80port
3(google的dns)
listen name: win10
4.從ftp把win10.ovpn下載到D槽(client端)
5.client端執行連線檔(放在c/programfile/vpn/config,再執行桌面vpn程式)
6.server端ifconfig會發現一個網段叫tun0
7.client ping10.8.0.1
當以上若錯誤發生,最大的原因是client與server的系統時間不同
sudo dpkg-reconfigure tzdata
建立第二個使用者給手機使用
sudo bash openvpn-install.sh
選1增加一個新的使用者
命名:phone
把ovpn檔下載到D,再丟到手機
wifi:tncomputer / computer123
手機安裝airdriod
網頁端:出現連線ip和port號
接受裝置連線
畫面出現手機,把ovpn檔丟到手機的download資料夾
執行OVPN app,把ovpn檔import進來
右上角add
======================================================
<桌機不連線之除錯> 原因:匣道被改掉了
cd /etc/openvpn
修改 /etc/openvpn/server.conf
#push "redirect-gateway def1 bypass-dhcp
sudo killall openvpn
重新啟動或重開機
右鍵匯入設定檔(win10),斷線,連線
再ping看看
=======================================================