摘要:使用,搭建前端開(kāi)發(fā)環(huán)境時(shí),在共享目錄使用安裝前端依賴(lài)時(shí),發(fā)現(xiàn)報(bào)錯(cuò),無(wú)法使用符號(hào)連接。使用共享出來(lái)的目錄是支持符號(hào)連接的,問(wèn)題解決了。
windows使用docker toolbox,搭建前端開(kāi)發(fā)環(huán)境時(shí),在共享目錄使用npm安裝前端依賴(lài)時(shí),發(fā)現(xiàn)報(bào)錯(cuò),無(wú)法使用符號(hào)連接。
這里有一個(gè)帖子專(zhuān)門(mén)討論這個(gè)問(wèn)題,感興趣可以看一下:https://askubuntu.com/questio...
我試過(guò)了上面所有的法子,發(fā)現(xiàn)只有這條有用:
$ npm i --no-bin-links
但是這種解決方式會(huì)帶來(lái)另外一個(gè)問(wèn)題:npm run dev 這些命令將無(wú)法使用,因?yàn)檫@個(gè)共享目錄不支持符號(hào)連接,而‘npm run dev’是需要軟連接的。
解決方法是使用vagrant管理virtualBox,然后開(kāi)一個(gè)centos虛擬機(jī),centos里使用docker就可以了。這樣共享目錄由vagrant配置,默認(rèn)是“/vagrant”,也就是Vagrantfile所在目錄。使用vagrant共享出來(lái)的目錄是支持符號(hào)連接的,問(wèn)題解決了。
在vagrant里添加配置,允許符號(hào)鏈接
vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] #允許符號(hào)鏈接重點(diǎn)要來(lái)了,vagrant具體如何配置?
對(duì)于一個(gè)前端開(kāi)發(fā)來(lái)說(shuō),整一個(gè)docker其實(shí)都挺費(fèi)勁了,因?yàn)槠綍r(shí)很少接觸環(huán)境方面的配置,對(duì)于黑洞洞的終端很不習(xí)慣。接下來(lái)分享一下我的配置。
首先,安裝vagrant、virtualBox。這個(gè)自行百度。不過(guò)需要注意的是,windows powershell要更新到powershell 4.x,.net 也要更新。
然后,講vagrantfile放在項(xiàng)目目錄同級(jí),提前下載好centos.box,放在與項(xiàng)目同級(jí)目錄,使用shell執(zhí)行:
$ vagrant up
vagrant box下載:
https://app.vagrantup.com/box...
這是我的Vagrantfile,可以參考一下:
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don"t touch unless you know what you"re doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "../centos7.box" config.vm.provider :virtualbox do |vb| vb.name = "mbannianhui" vb.customize ["modifyvm", :id, "--memory", 1024] #修改虛擬機(jī)內(nèi)存 vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] #允許符號(hào)鏈接 end config.vm.network :private_network, ip: "192.168.33.10" #分配ip config.vm.network :forwarded_port, guest: 2333, host: 2333 #設(shè)置端口 config.vm.provision :shell, :inline => <<-EOT # # 安裝docker:http://www.runoob.com/docker/centos-docker-install.html sudo yum update curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl start docker #啟動(dòng)docker sudo systemctl enable docker #docker隨系統(tǒng)啟動(dòng)而啟動(dòng) EOT end
這樣,起來(lái)的虛擬機(jī)里,docker已經(jīng)安裝好了。查看docker是否成功安裝:
sudo docker -v
一些docker命令:
sudo docker run -v /vagrant:/app -p 3000:3000 --name demo -itd --add-host www.demo.com:127.0.0.1 --restart unless-stopped docker.sitename.net/libname/image
說(shuō)明:
-v /vagrant:/app # 映射目錄;"/vagrant":vagrant默認(rèn)的共享目錄,也就是本機(jī)放置Vagrantfile文件的目錄 -p 3000:3000 : hostPort:containerPosrt ,指定端口 --name demo 給容器起名字 -itd 相當(dāng)于-i -t -d : -i 以交互模式運(yùn)行容器,-t為容器重新分配一個(gè)偽輸入終端,-d后臺(tái)運(yùn)行容器 --add-host www.demo.com:127.0.0.1 和windows配置host文件一樣 --restart unless-stopped 容器崩壞重啟,除非手動(dòng)stop docker.sitename.net/libname/image 遠(yuǎn)程倉(cāng)庫(kù)的地址,這里也可以是本地鏡像名字,或者官方鏡像名字。如果本地沒(méi)有這個(gè)鏡像,則先拉取
問(wèn)題:
如何訪問(wèn)docker容器跑起來(lái)的服務(wù)?
以上面為例,docker run時(shí)指定端口之后,在瀏覽器輸入:
192.168.33.10:3000
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/27432.html
摘要:配置項(xiàng)數(shù)據(jù)持久化支持登錄授權(quán)驗(yàn)證測(cè)試做代理我的方式和遇到的問(wèn)題作為一個(gè)容器其它方案相關(guān)鏈接官方提供了鏡像,可以方便的搭建私有倉(cāng)庫(kù),詳細(xì)文檔參考這里。支持為了使得私有倉(cāng)庫(kù)安全地對(duì)外開(kāi)放,需要配置支持。 摘要 這篇文章內(nèi)容包括搭建docker私有倉(cāng)庫(kù)的一些配置項(xiàng)和遇到的問(wèn)題及解決方案。 1.配置項(xiàng) 1.1. 數(shù)據(jù)持久化 1.2. TLS 支持 1.3. 登錄授權(quán)驗(yàn)證 1.4. docker...
摘要:目前內(nèi)核總共實(shí)現(xiàn)了種隔離和消息隊(duì)列。參數(shù)表示我們要加入的的文件描述符。提供了很多種進(jìn)程間通信的機(jī)制,針對(duì)的是和消息隊(duì)列。所謂傳播事件,是指由一個(gè)掛載對(duì)象的狀態(tài)變化導(dǎo)致的其它掛載對(duì)象的掛載與解除掛載動(dòng)作的事件。 前言 理解docker,主要從namesapce,cgroups,聯(lián)合文件,運(yùn)行時(shí)(runC),網(wǎng)絡(luò)幾個(gè)方面。接下來(lái)我們會(huì)花一些時(shí)間,分別介紹。 docker系列--names...
摘要:目前內(nèi)核總共實(shí)現(xiàn)了種隔離和消息隊(duì)列。參數(shù)表示我們要加入的的文件描述符。提供了很多種進(jìn)程間通信的機(jī)制,針對(duì)的是和消息隊(duì)列。所謂傳播事件,是指由一個(gè)掛載對(duì)象的狀態(tài)變化導(dǎo)致的其它掛載對(duì)象的掛載與解除掛載動(dòng)作的事件。 前言 理解docker,主要從namesapce,cgroups,聯(lián)合文件,運(yùn)行時(shí)(runC),網(wǎng)絡(luò)幾個(gè)方面。接下來(lái)我們會(huì)花一些時(shí)間,分別介紹。 docker系列--names...
閱讀 1122·2021-11-22 13:53
閱讀 1694·2021-11-17 09:33
閱讀 2457·2021-10-14 09:43
閱讀 2991·2021-09-01 11:41
閱讀 2356·2021-09-01 10:44
閱讀 3061·2021-08-31 09:39
閱讀 1577·2019-08-30 15:44
閱讀 1920·2019-08-30 13:02