1. 程式人生 > >測試/生產環境下的docker使用簡介

測試/生產環境下的docker使用簡介

為什麼要使用docker:

在專案部署時,由於各種原因,其它部門的人員在安裝 jdk\mysql\redis\mq 等軟體以及修改相關配置檔案時很容易出錯,研發人員需要寫很多安裝說明,費時費力而且效果也不好。所以打算直接把相關的軟體都打包到映象中,簡化操作。

1、安裝docker ( yum install docker ) 、配置國內映象 略(win10環境)

       啟動docker 服務 : service docker start

 線上拉取就不介紹了,以下是針對我們從docker官方拉取後匯出的 .tar映象,

匯出映象:

      docker save -o  centos-mysql-57-centos7.tar    centos/mysql-57-centos7

      docker save -o  mbentley-tomcat7.tar                mbentley/tomcat7

      docker save -o  kilsoo75-redis-master.tar           kilsoo75/redis-master

2、匯入本地映象 (把映象複製到當前目錄下)

docker load -i centos-mysql-57-centos7.tar

 或 docker load -i  /e/centos-mysql-57-centos7.tar

docker load -i mbentley-tomcat7.tar
docker load -i kilsoo75-redis-master.tar

3、建立並啟動容器

3.1 建立並啟動mysql容器  (一定要把資料檔案對映到本地硬碟,預先授權  chmod  777  /opt/data

docker run -d --name mysql3306 -e MYSQL_USER=hly -e [email protected] -e MYSQL_DATABASE=his3 -p 3306:3306 -v /e/data:/var/lib/mysql/data --privileged=true centos/mysql-57-centos7

執行完上面的語句應該無法正常啟動容器,原因是對宿主機的目錄沒有寫許可權。需要先授權外掛的目錄:

chmod 777 *

1)--name mysql3306  表示容器名稱:mysql3306 

 2)-v /e/data:/var/lib/mysql/data 表示把windows E盤下data檔案目錄掛載為 mysql資料存放目錄.

3) --privileged=true   給容器加特權,以避免Docker檔案掛載因檔案所屬使用者為mysql引起的許可權問題。

如果啟動後想進入容器可:docker exec -it  mysql3306   /bin/sh 

3.2 建立並啟動tomcat容器(一定要把上傳的資料檔案對映到本也硬碟  chmod  777  /e/webapps


docker run -d --name tomcat8080 -p 8080:8080  -v /e/webapps:/opt/tomcat/webapps -v /e/logs:/tomcat/logs --privileged=true mbentley/tomcat7

1)對映檔案共享目錄 webapps 用於釋出web專案的war包、logs  檢視歷史日誌

2)對映Tomcat埠  

3.3 建立並啟動redis伺服器 

docker run -d --name redis-master -e REDIS_PASSWORD=hly123 -e MASTER_PASSWORD=hly123 -p 6379:6379   --privileged=true kilsoo75/redis-master

如果啟動後想進入容器可:docker exec -it  tomcat8080   /bin/sh 

 其中用到的對映關鍵字如下

--name:容器名字

-d :       以守護程序方式執行(後臺)

 -p:         埠, 可以有多個-p

-v:        共享目錄, 可以有多個-p

4、容器建立完成後,以後如果需要關閉和重啟,只需要使用

     docker  stop <容器名> 、docker start <容器名> 、docker restart <容器名>  即可:

    如:docker  stop  mysql3306

其它軟體的安裝和配置大同小異,配置完成後,直接固化到映象匯出,把匯出的映象和指令碼檔案複製給其它部門安裝。

查詢映象:docker images  

查詢容器:docker ps -a

刪除映象:docker rmi <映象name或ID>

刪除容器:docker rm <容器name或ID>

相關推薦

測試/生產環境docker使用簡介

為什麼要使用docker: 在專案部署時,由於各種原因,其它部門的人員在安裝 jdk\mysql\red

雲主機-生產環境離線安裝Docker部署應用

離線安裝Docker、配置Docker以及使用Docker 根據核心版本,下載Docker離線安裝包 安裝上序下載的rpm包:rpm -ivh *.rpm 安裝完成之後,檢測是否安裝成功,

Linux Shell腳本生產環境安全地刪除文件

rm safe 腳本編寫背景 無論是生產環境、測試環境還是開發環境,經常需要使用rm命令刪除&批量一些“重要”目錄下的文件。按照Linux的哲學“小即是美”(一個程序只做一件事)+“用戶清楚自己做什麽”(用戶知道自己想要什麽,也明白自己在做什麽,並且會為自己的行為負責),那麽用戶在執行r

一次生產環境MongoDB備份還原數據

刪除 命令格式 type 庫存 功能 字符 導出文件 信息 fields 最近開發一個版本的功能當中用到了MongoDB分頁,懶於造數據,於是就研究了下從生產環境上導出數據到本地來進行測試。 研究了一下,發現MongoDB的備份還原和MySQL語法還挺類似,下面請看詳細介紹

如何在生產環境實現每天自動備份mysql數據庫

mysql mysql備份 自動備份mysql mysql數據庫備份 甘兵 1、描述 我相信很多朋友在工作都都會有這種需求,老板或領導讓你每天都要備份mysql數據庫,你該如何實現呢,是每天到一定的時間在服務器上敲一遍mysql的備份命令,還是想寫個腳本,定時定點的自動備份呢?我相信

Windows 環境 Docker 使用及配置

不同的 fault item 命令 oot def min 完成 /var/ 我們可以使用以下兩種方式在Windows環境下使用docker: 1. 直接安裝: Docker支持直接安裝並運行在windows環境下,但對Windows的版本和xu虛擬化服務等有著一定的要求。

生產環境hadoop HA集群及Hbase HA集群配置

自動切換 value 下載 shared 第一次 borde sla com 結果 一、環境準備操作系統版本:centos7 64位hadoop版本:hadoop-2.7.3hbase版本:hbase-1.2.41、機器及角色IP角色192.168.11.131Nameno

Maven_生產環境開發對Maven的需求

手動 不同 保存 拆分 多個 需要 開發 復制 strong 目前技術開發時存在的問題:   一個項目就是一個工程     如果一個項目非常龐大,就不適合繼續使用package來劃分模塊。最好是每一個模塊對應一個工程,利於分工協作。     借助Maven就可以將一個項目拆

java生產環境記憶體調優

Tomcat 效能監控與調優 Nginx 效能監控與調優 JVM 層 GC 調優 JAVA程式碼層調優 1.JVM的引數型別 標準引數(各版本中保持穩定) -help -server -client -version -showversion -cp -classpath

SpringCloud從入門到進階(四)——生產環境Eureka的完全分布式部署

分開 -s rip linux mas 此外 實例名 leo 版本 內容   由於前兩節的內容我們知道,開啟了preferIpAddress後,Eureka的偽分布式部署會提示replica不可用。這一節我們講解如何在生產環境下部署完全分布式的Eureka集群,確保開啟了p

SpringCloud從入門到進階(四)——生產環境Eureka的完全分散式部署

內容   由於前兩節的內容我們知道,開啟了preferIpAddress後,Eureka的偽分散式部署會提示replica不可用。這一節我們講解如何在生產環境下部署完全分散式的Eureka叢集,確保開啟了preferIpAddress後replica的可用性。 版本   IDE:IDEA 2017.2.

ubuntu環境docker的安裝與操作

只要按照本文的步驟一步步的走,就能正確的安裝docker並使用,ubuntu需要聯網   1. 在Ubuntu中安裝Docker 更新ubuntu的apt源索引 sudo apt-get update 安裝包允許apt通過HTTPS使用倉庫,(將下面的命令完全複製,然後貼上到

如何在生產環境實現每天自動備份mysql資料庫

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

windows 環境docker匯入,匯出映象

這次,以下載node.js映象為例,進入node.js的中文官網,他會告訴你docker 的下載命令是 docker pull node 既然這樣,咱們就win+R,輸入cmd,再命令列輸入 docker pull node 稍等片刻,輸入 docker images

Caffe安裝成功測試(CPU環境mnist測試)

測試資料和訓練資料集的獲取:https://pan.baidu.com/s/1hry1f4g 將下載下來並解壓得到的測試和訓練資料mnist-test-leveldb和mnist-train-leveldb複製到.\caffe-master\examples\mnist\

[JVM]生產環境jvm調優概述

JVM相關的典型面試問題: Java生產環境下效能監控與調優詳解 生產環境發生了記憶體溢位如何處理? 生產環境應該給伺服器分配多少記憶體合適? 如何對垃圾收集器的效能進行調優? 4.生產環境CPU負載飆高該如何處理? 5.生產環境應該給應用分

[JVM]Java生產環境效能監控與調優詳解_Btrace

本章關鍵詞:BTrace、攔截、注意事項 一、入門 1.做什麼的? 可以在應用程式不重啟,不修改的情況下,正在執行的情況下,動態的修改位元組碼,達到監控除錯的目的 可以動態的向目標應用程式的位元組碼注入追蹤程式碼 用到的技術 JavaComplierApi、J

[JVM]Java生產環境效能監控與調優_參考文件連結

第二章 jdk8工具集 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html Troubleshooting https://docs.oracle.com/javase/8/doc

Java生產環境效能監控與調優詳解

第8章 JVM位元組碼與Java程式碼層調優 本章帶大家學習JVM的位元組碼指令,從位元組碼層面講解一些常見問題的底層原理(面試能回答上的話, 絕對加分),比如:i++和++i哪一種效率高?迴圈體中做字串+拼接為什麼效率低?然後會重點對String做講解,包括String常量池的變化、String字面

ubntu單機配置fastdfs作為開發環境(2)---nginx生產環境再編譯+fastdfs擴充套件模組的編譯

前言 參考文章 FastDFS搭建單機圖片伺服器(二) 這篇文章也是參考了網上的文章,為什麼不直接說是轉載的?因為上面文章只說了一半—實際生產環境,譬如,nginx除了fastdfs,實際上可能還要編譯openssl,geoip等等擴充套件模組的。 編譯安裝過程 1、安裝