實驗6:Docker容器部署個人博客網站以及個人雲盤

實驗環境:
VMware虛擬機1臺,配置如下:
CPU >=1C
MEM >=1G
DISK >=20G
OS=Linux CentOS7.x
網絡適配器=NAT
配置IP、DNS等,使虛擬機可以連通互聯網
使用xshell或者secureCRT工具連接

實驗準備:
#cd /etc/yum.repos.d 進入yum配置目錄
#mkdir backup 創建備份目錄
#mv *.repo backup/ 備份所有repo文件
#curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 從阿里雲鏡像站下載docker.repo 文件
#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 從阿里雲鏡像站下載centos源文件
#yum clean all 清理yum源
#yum repolist all 加載
#yum makecache 緩存
…………………………<<<實驗開始>>>…………………………

部署WordPress個人博客網站

  1. 安裝docker服務包
    #yum install docker-ce -y
  2. 啓動docker服務
    #systemctl start docker 開啓docker服務器
    #systemctl enable docker 開啓docker服務自啓動
    #systemctl status docker 查看docker服務狀態爲running即可。
  3. 下載docker鏡像(可先配置鏡像加速器,否則有點慢)
    #docker pull mariadb
    從官方鏡像庫hub.docker.com下載數據庫鏡像
    #docker pull wordpress 從官方鏡像庫hub.docker.com下載博客鏡像
    #docker images 查看鏡像下載情況,如下圖即可:
    在這裏插入圖片描述
  4. 啓動mariadb數據庫容器
    #docker run --name wujw-mariadb -v /my/custom:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -d mariadb:latest ——鏡像名和密碼可以自定義
  5. 啓動wordpress 博客網站容器
    第一種方式:容器間映射,內部鏈接數據庫容器

docker run --name wujw-wordpress --link wujw-mariadb:mysql -p 8080:80 -d wordpress

第二種方式:鏈接外部數據庫(可以使其他機器的),這裏我們直接鏈接數據庫容器了
#docker run --name wujw-wordpress -p 8080:80 -e WORDPRESS_DB_HOST=192.168.80.135:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=111111 -d wordpress (ip爲自己虛擬機的ip,名稱密碼可自定義)
6. 查看當前運行容器:
#docker ps 加-a 查看所有狀態容器
在這裏插入圖片描述
註釋:
CONTAINER ID:容器ID,可以替代容器名用來重啓或者刪除容器等操作
IMAGE:鏡像,後面latest是鏡像tag,表面該容器是用具體哪個鏡像開啓的。
COMMAND:docker容器內部命令
CREATED:容器創建時間
STAUS:容器當前狀態up爲運行中,Exited爲退出即down掉了,需要restart重啓
PORTS:端口映射,前面爲本地端口,後面爲容器內部端口,這樣本地瀏覽器纔可以訪問。
NAMES:容器名稱,即我們創建時候—name自定義的那個。重啓或刪除容器的時候使用。
7. 瀏覽器上登錄http://192.168.80.135:8080 (虛擬機IP+8080端口)
在這裏插入圖片描述
說明:自己編輯、修改,成自己想要的樣子,這樣你就有一個屬於自己的博客網站了。

部署ownCloud個人雲盤

  1. 下載雲盤鏡像
    #docker pull owncloud 從hub.docker.com官方鏡像倉庫下載owncloud鏡像

  2. 啓動雲盤容器
    #docker run --name wujw-owncloud01 -v /var/www/html:/var/www/html -p 8082:80 -d owncloud:latest 啓動owncloud雲盤容器
    -v 映射本地捲到容器卷
    -p 映射本地端口到容器端口,注意不要重複。
    -d 將容器放入後臺運行
    –name 給新開的容器取名

  3. 通過瀏覽器登錄http://192.168.80.135:8082 注意IP端口根據自己的實際情況修改 在這裏插入圖片描述

  4. 初始化安裝配置,如下圖:
    在這裏插入圖片描述
    說明:
    用戶名密碼自己創建
    數據目錄,默認不要改
    數據庫就選默認的SQLite就行了不用配置
    創建完用戶名密碼就可以點擊安裝了………

  5. 安裝好了之後用自己剛剛創建好的用戶名和密碼登錄,進來就是這個界面了
    在這裏插入圖片描述

  6. 逐層點擊進去就如下圖了,可以創建文件夾,上傳、下載、分享等,跟百度網盤一樣的。
    在這裏插入圖片描述
    說明:具體的操作如圖紅色框所示,具體效果大家自己去實驗吧。

  7. 如果需要查看後端存儲的話,在如下目錄/var/www/html/data下面有一個用戶目錄
    在這裏插入圖片描述

如上所述,大家就算有了自己的雲盤了,如果你有外網IP,互聯網也可以訪問的,再把自己的服務器硬盤搞大一點,你就可以向百度網盤一樣自由訪問自己的雲盤了。
**END

附加:docker相關操作命令:
例如:docker stop wujw-mariadb 停止mysql docker容器,下同
docker start mysql
docker restart mysql
docker ps 查看當前運行docker
docker ps -a 查看所有docker -l 列示最新一個鏡像
docker images 查看鏡像
docker pull xxx 從官方鏡像庫hub.docker.com下載鏡像
docker push xxx 推送一個鏡像到hub.docker.com官方鏡像庫
docker run xxx 從image啓動一個container
docker run -it --name test image:tag /bin/bash 使用image創建container並進入交互模式, login shell是/bin/bash
-d 將容器放入後臺運行
-p 映射本地端口號:容器端口號
-v 映射本地volume:容器volume
docker attach --sig-proxy=false $CONTAINER_ID連接到正在運行中的container
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ $CONTAINER_ID查看image或container的底層信息
docker rm <container_id/contaner_name> 刪除容器
例如:docker rm wujw-mariadb
docker rm $(docker ps -a -q) 刪除所有停止的容器
docker rmi <image_id/image_name …> 刪除鏡像
docker build 使用此配置生成新的image
docker build [OPTIONS] PATH | URL |
build命令可以從Dockerfile和上下文來創建鏡像
dockerfile例子:
#cat Dockerfile
FROM seanlook/nginx:bash_vim
EXPOSE 80
ENTRYPOINT /usr/sbin/nginx -c /etc/nginx/nginx.conf && /bin/bash

docker build -t seanlook/nginx:bash_vim_Df .

Sending build context to Docker daemon 73.45 MB
Sending build context to Docker daemon
Step 0 : FROM seanlook/nginx:bash_vim
—> aa8516fa0bb7
Step 1 : EXPOSE 80
—> Using cache
—> fece07e2b515
Step 2 : ENTRYPOINT /usr/sbin/nginx -c /etc/nginx/nginx.conf && /bin/bash
—> Running in e08963fd5afb
—> d9bbd13f5066
Removing intermediate container e08963fd5afb
Successfully built d9bbd13f5066
docker tag 195eb90b5349 seanlook/ubuntu:rm_test 將同一IMAGE_ID的所有tag,合併爲一個新的
docker tag Registry/Repos:Tag New_Registry/New_Repos:New_Tag新建一個tag,保留舊的那條記錄
docker top <container_id/container_name>查看容器中正在運行的進程。
docker還有一些如login、cp、logs、export、import、load、kill等不是很常用的命令,比較簡單,請參考官網。
https://www.widuu.com/
https://docs.docker.com/
https://hub.docker.com//wordpress
https://hub.docker.com/
/mariadb
https://hub.docker.com/_/owncloud

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章