摘要:本地開發(fā)環(huán)境是影響工作效率最重要的因素還有一個是,以后有時間會專門寫這個一般來說有以下幾種方案可以選擇原生安裝這個是最原始也是最麻煩的,比如搞,要自己裝搞不好還得裝個。
本地開發(fā)環(huán)境是影響工作效率最重要的因素(還有一個是IDE,以后有時間會專門寫這個)
一般來說有以下幾種方案可以選擇
原生安裝 這個是最原始也是最麻煩的,比如搞PHP,要自己裝nginx+php+mysql+redis 搞不好還得裝個node、composer、memcached。這個搞法基本上熟練也得一天出去了。Mac還好,Windows就要無盡的google了。
虛擬機 這個有兩種方案,我都嘗試過,一種是用VM,安個centos,這種方法和原生安裝差不多,也比較折騰,另外VM虛擬機占用系統(tǒng)資源太大,每次開機都比較慢。另一種就是用vargrant,這個方法的好處是比較輕,開機快。但是終究是虛擬機,最大的問題就是目錄共享問題,造成無法正常安裝node,總之各種坑
Docker 最終選擇了Docker的方案。Docker基本上是集合了上面的所有優(yōu)點了,他自身最大的好處就是想用的時候拉起來,不想用的時候干掉,數(shù)據(jù)和容器是分開的。另外鏡像都是官方的,穩(wěn)定,靠譜。缺點也是有的,就是底層其實還是用的linux,所以在windows上跑不大穩(wěn)定。
我目前用的方案是
centos7 官方鏡像 里面安裝了 nginx php node
mysql 官方鏡像
redis 官方鏡像
這樣一共需要運行三個容器,數(shù)據(jù)都-v 到本地磁盤,容器干掉了數(shù)據(jù)也不丟失。
常用命令 鏡像搜索鏡像
$ docker search xxx
如果出現(xiàn) connection refused 可以試試重啟docker
下載鏡像
$ docker pull xxx
刪除鏡像
$ docker rmi xxx
本地容器保存快照 生成鏡像壓縮文件
$ docker export -o dev-latest.tar 7e4b0
導(dǎo)入鏡像
$
保存鏡像
$ docker save -o redis-latest.tar 9813
容器導(dǎo)入 是將當(dāng)前容器 變成一個新的鏡像
鏡像導(dǎo)入 是復(fù)制的過程
save 保存鏡像所有的信息-包含歷史
export 只導(dǎo)出當(dāng)前的信息
查看當(dāng)前運行的容器
$ docker ps
$ docker ps -a
$ docker stats
$ docker top
查看當(dāng)前docker版本
$ docker info
運行容器
$ docker run -d [-p 主機端口:容器端口] --name [容器名自定義] [-v 主機/目錄:容器/目錄] [鏡像名]
例如
centos
$ docker run -d -p 80:80 --name dev -v D:/docker/dev/www:/home/www centos
redis
$ docker run -d -p 6379:6379 --name dev-redis -v D:/docker/redis/data:/data redis
mysql
$ docker run --name dev-mysql -v D:/docker/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -d mysql
停止 開啟 重啟
$ docker stop
$ docker start
$ docker restart
刪除容器
$ docker rm
如果有自己的倉庫可以
$ docker login -u 用戶名 -p 密碼 倉庫地址
進入容器
$ docker exec -it [容器名] /bin/bash
如果碰到開機報錯:
Docker command did not complete within the allowed timeout. Output:
可能是windows 防火墻問題
在防火墻里放開下面這倆exe
C:Program FilesDockerDockerDocker for Windows.exe
C:Program FilesDockerDockerDockerCli.exe
PS 如果發(fā)現(xiàn)容器里面掛載的目錄不見了
但是執(zhí)行 docker inspect 發(fā)現(xiàn)這個配置其實是有的
那么 可能是掛載的主機磁盤沒有寫權(quán)限 改完后重啟試試
容器間通信默認(rèn)可以用內(nèi)網(wǎng)IP通信 網(wǎng)段是 172.17.0.1...
可以通過下面的命令查看容器IP
$ docker inspect --format="{{.NetworkSettings.IPAddress}}" CONTAINER_ID
這里注意 容器的IP是根據(jù)啟動順序來的,不是一直固定的,所以啟動的時候最好有一定順序,避免老去改配置的麻煩
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/27046.html
摘要:核心對名字空間的支持完全隔離了工作環(huán)境中應(yīng)用程序的視野,包括進程樹網(wǎng)絡(luò)用戶與掛載文件系統(tǒng),而核心的提供資源隔離,包括存儲器與網(wǎng)絡(luò)。因此更為輕量快速和易于管理。 docker 如日中天,這不是單純的炒概念,docker 確確實實解決了開發(fā)與運維的痛點,因此在企業(yè)開發(fā)中得到了非常廣泛的使用,本文對于 docker 的這些基本知識點再做一些簡單回顧。 什么是 docker 根據(jù) wikip...
摘要:協(xié)議學(xué)習(xí)常見請求方法學(xué)習(xí)和學(xué)習(xí)接口的基本概念接口文檔認(rèn)識接口測試用例編寫接口測試工具使用軟件測試自動化進階性能測試性能測試的技術(shù)要求很高,不僅僅要對性能測試的指標(biāo)測試分類測試設(shè)計有很深刻的理解。 ...
摘要:開場白作為一個技術(shù)團隊的,你是如何保證成員的開發(fā)環(huán)境達到公司的標(biāo)準(zhǔn),或者是你定制的最低要求的如果你的回答是差不多就行了,有問題再說,那么,你已經(jīng)在給自己挖坑了。好的,成員們開始構(gòu)建你定制的開發(fā)環(huán)境了。 開場白 作為一個技術(shù)團隊的Leader,你是如何保證成員的開發(fā)環(huán)境達到公司的標(biāo)準(zhǔn),或者是你定制的最低要求的?如果你的回答是:差不多就行了,有問題再說,那么,你已經(jīng)在給自己挖坑了。 同事A...
摘要:蠻吉為什么這么做集中管理,使用方便,安裝更方便,不用到各各目錄上去找配置文件啊,啟動文件之類的。蠻吉如果我想修改的配置怎么辦可以使用進入容器里面找到并修改,命令退出容器。 What is Docker? docker 是一個可以放東西的容器,那東西是什么?可以是redis、nginx、mysql??傊隳茉谙到y(tǒng)上安裝的都可以在dokcer里面安裝。 蠻吉:為什么這么做? 集中管理,使用...
摘要:應(yīng)用化極簡教程陳光劍基于的企業(yè)級應(yīng)用開發(fā)最佳實踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運行測試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項目實踐中,會實現(xiàn)一套應(yīng)用部署發(fā)布的自動化運維平臺工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級應(yīng)用開發(fā)最佳實踐 前面的章節(jié)中,...
閱讀 3613·2023-04-26 00:39
閱讀 4842·2021-09-22 10:02
閱讀 2679·2021-08-09 13:46
閱讀 1197·2019-08-29 18:40
閱讀 1514·2019-08-29 18:33
閱讀 846·2019-08-29 17:14
閱讀 1587·2019-08-29 12:40
閱讀 3218·2019-08-28 18:07