docker部署resin应用
1. docker 的安裝
安裝環(huán)境:
ubuntu 64位步驟一:獲取最新版本的 Docker 安裝包
wget -qO- https://get.docker.com/ | sh安裝完成后有個(gè)提示:
If you would like to use Docker as a non-root user, you should now consideradding your user to the "docker" group with something like:sudo usermod -aG docker runoobRemember that you will have to log out and back in for this to take effect!大概的意思就是:docker進(jìn)程使用Unix Socket而不是TCP端口。而默認(rèn)情況下,Unix socket屬于root用戶,需要root權(quán)限才能訪問(wèn)。
步驟二:添加權(quán)限
docker守護(hù)進(jìn)程啟動(dòng)的時(shí)候,會(huì)默認(rèn)賦予名字為docker的用戶組讀寫Unix socket的權(quán)限,因此只要?jiǎng)?chuàng)建docker用戶組,并將當(dāng)前用戶加入到docker用戶組中,那么當(dāng)前用戶就有權(quán)限訪問(wèn)Unix socket了,進(jìn)而也就可以執(zhí)行docker相關(guān)命令
sudo groupadd docker #添加docker用戶組 sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中 newgrp docker #更新用戶組 docker ps #測(cè)試docker命令是否可以使用sudo正常使用步驟三:啟動(dòng)docker
sudo service docker start步驟四:測(cè)試運(yùn)行hello-world
runoob@runoob:~$ docker run hello-world2. docker 安裝jdk
docker pull java:8等就完事了
3. docker 部署resin項(xiàng)目
先查看一下我的目錄結(jié)構(gòu)
步驟一:新建一個(gè)目錄 /var/local/resin
mkdir /var/local/resin步驟二:把 resin-4.0.57.tar.gz 解壓后的包扔到 /var/local/resin 中
tar -zxvf resin-4.0.57.tar.gz /var/local/resin步驟三:在/var/local/resin目錄寫Dockerfile
vim Dockerfile # 引入jdk FROM java:latest #重命名resin ADD resin-4.0.57 /var/local/resin/resin4 EXPOSE 8080 CMD ["/var/local/resin/resin4/bin/resin.sh","console"]步驟四:利用Dockerfile來(lái)生成鏡像。在/var/local/resin目錄寫 build.sh
vim build.sh docker build -t resin4:latest .其中 -t表示后面是鏡像名,冒號(hào)后面是版本 .代表當(dāng)前目錄
執(zhí)行docker images可以查看所有鏡像去驗(yàn)證
步驟五:如果你之前啟動(dòng)了該鏡像,那么就要在下次啟動(dòng)前,先把前一個(gè)啟動(dòng)的鏡像實(shí)例關(guān)掉。在/var/local/resin目錄寫 remove.sh
taf-admin是啟動(dòng)的鏡像的名字,在步驟六可以看到。
步驟六:啟動(dòng)該鏡像,這里我把項(xiàng)目taf-admin.war掛載到resin的webapps中
先把項(xiàng)目移到/var/local/resin中。
然后寫一個(gè)腳本 run.sh
docker run -d --name taf-admin -v /var/local/resin/taf-admin.war:/usr/local/resin/resin4/webapps/taf-admin.war -p 8081:8080 resin4:latest- -d代表在后臺(tái)運(yùn)行
- –name代表鏡像啟動(dòng)的名稱
- -v代表把war包掛載到resin上
- -p代表端口,8081是外部端口
- resin:lastest是鏡像的名稱
然后就可以在外部訪問(wèn)到 localhost:8081/taf-admin 了
4. docker 常用命令
1.查看docker詳情
docker info
2. 查看正在運(yùn)行的鏡像
3.查看所有鏡像
4.運(yùn)行鏡像
- -d代表在后臺(tái)運(yùn)行
- –name代表鏡像啟動(dòng)的名稱
- -v代表把war包掛載到resin上
- -p代表端口,8081是外部端口
- resin:lastest是鏡像的名稱
特別地 在run上加上 -it 然后在末尾加上bash
會(huì)直接進(jìn)入到鏡像中,前提是該鏡像還沒啟動(dòng):
這里產(chǎn)生了錯(cuò)誤,原因是之前有一個(gè)同名(my-tomcat)的鏡像啟動(dòng)了,所以要先 要通過(guò) docker rm -f my-tomcat先把前一個(gè)啟動(dòng)的鏡像移除
那么如果需要在鏡像啟動(dòng)之后 ,通過(guò)某條命令進(jìn)入鏡像,怎么辦呢?通過(guò):
docker exec -it 鏡像實(shí)例名 bash鏡像實(shí)例名不是my-tomcat,而是這個(gè)
5.刪除鏡像
docker rmi 鏡像實(shí)例名總結(jié)
以上是生活随笔為你收集整理的docker部署resin应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Kafka学习 之 理解Kafka集群(
- 下一篇: 容器学习 之 容器的概念(一)