docker部署resin应用
1. docker 的安裝
安裝環境:
ubuntu 64位步驟一:獲取最新版本的 Docker 安裝包
wget -qO- https://get.docker.com/ | sh安裝完成后有個提示:
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進程使用Unix Socket而不是TCP端口。而默認情況下,Unix socket屬于root用戶,需要root權限才能訪問。
步驟二:添加權限
docker守護進程啟動的時候,會默認賦予名字為docker的用戶組讀寫Unix socket的權限,因此只要創建docker用戶組,并將當前用戶加入到docker用戶組中,那么當前用戶就有權限訪問Unix socket了,進而也就可以執行docker相關命令
sudo groupadd docker #添加docker用戶組 sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中 newgrp docker #更新用戶組 docker ps #測試docker命令是否可以使用sudo正常使用步驟三:啟動docker
sudo service docker start步驟四:測試運行hello-world
runoob@runoob:~$ docker run hello-world2. docker 安裝jdk
docker pull java:8等就完事了
3. docker 部署resin項目
先查看一下我的目錄結構
步驟一:新建一個目錄 /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來生成鏡像。在/var/local/resin目錄寫 build.sh
vim build.sh docker build -t resin4:latest .其中 -t表示后面是鏡像名,冒號后面是版本 .代表當前目錄
執行docker images可以查看所有鏡像去驗證
步驟五:如果你之前啟動了該鏡像,那么就要在下次啟動前,先把前一個啟動的鏡像實例關掉。在/var/local/resin目錄寫 remove.sh
taf-admin是啟動的鏡像的名字,在步驟六可以看到。
步驟六:啟動該鏡像,這里我把項目taf-admin.war掛載到resin的webapps中
先把項目移到/var/local/resin中。
然后寫一個腳本 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代表在后臺運行
- –name代表鏡像啟動的名稱
- -v代表把war包掛載到resin上
- -p代表端口,8081是外部端口
- resin:lastest是鏡像的名稱
然后就可以在外部訪問到 localhost:8081/taf-admin 了
4. docker 常用命令
1.查看docker詳情
docker info
2. 查看正在運行的鏡像
3.查看所有鏡像
4.運行鏡像
- -d代表在后臺運行
- –name代表鏡像啟動的名稱
- -v代表把war包掛載到resin上
- -p代表端口,8081是外部端口
- resin:lastest是鏡像的名稱
特別地 在run上加上 -it 然后在末尾加上bash
會直接進入到鏡像中,前提是該鏡像還沒啟動:
這里產生了錯誤,原因是之前有一個同名(my-tomcat)的鏡像啟動了,所以要先 要通過 docker rm -f my-tomcat先把前一個啟動的鏡像移除
那么如果需要在鏡像啟動之后 ,通過某條命令進入鏡像,怎么辦呢?通過:
docker exec -it 鏡像實例名 bash鏡像實例名不是my-tomcat,而是這個
5.刪除鏡像
docker rmi 鏡像實例名總結
以上是生活随笔為你收集整理的docker部署resin应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kafka学习 之 理解Kafka集群(
- 下一篇: 容器学习 之 容器的概念(一)