docker 安裝tomcat
在騰訊雲上部署自己java web工程 初步探索
騰訊雲伺服器的遠端連線方式通過secureCRT進行連線 (需要配置在騰訊雲後臺生成的公鑰)
連線之後,在linux虛擬機器上安裝docker
1、檢查核心版本,必須是3.10及以上
uname -r
2、安裝docker
yum install docker
3、輸入y確認安裝
4、啟動docker
[root@luyuhui java]# systemctl status docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# dock`在這裡插入程式碼片`er -v
Docker version 1.12.6, build 3e8e77d/1.12.6
5、開機啟動docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
6、停止docker
systemctl stop docker
在安裝過程中也出現了些問題,不過網上都有解決方案
docker常用命令
映象操作
docker search 關鍵字
docker pull 映象名:tag tag是可選的,tag表示標籤,多為軟體的版本,預設是lastest
docker images 檢視所有本地映象
docker rmi image-id 刪除指定的本地映象
容器操作
docker run --name mytomcat -d tomcat:latest
使用docker映象tomcat:latest以後臺模式啟動一個容器,並將容器命名為mytomcat。
docker ps 檢視執行中的容器
docker ps -a 檢視所有的容器
docker start 容器id
docker rm 容器id
建立容器時的埠對映
docker run -d -p 8080:8080 tomcat:latest
使用映象tomcat:latest以後臺模式啟動一個容器,並將容器的8080埠對映到主機8080埠。
linux的防火墻操作
service firewalld status ;檢視防火牆狀態
service firewalld stop:關閉防火牆
linux上的jdk安裝在linux檔案系統即可,容器可以正常使用。
docker安裝tomcat後,工程的部署過程
比較重要的幾條命令
docker exec -it CONTAINER_ID bash
進入容器終端並且的保留為容器終端的輸入形式
在sftp中用put命令上傳war包到linux系統(secureCRT按alt + p進入sftp介面)這種方式的自我感覺傳輸速度較快,但是傳輸上去之後是放在當前使用者的根資料夾,比如root使用者登入,傳輸的檔案放在/root資料夾,
linux下docker 拷貝linux檔案系統下 檔案到docker容器的命令
docker cp chang.war cfa3f9d36b1b:/usr/local/tomcat/webapps
命令中的cfa3…表示的容器id
將war包copy到wenapps下後就完成java web工程的部署
SpringBoot專案打成war包過程:
SpringBoot專案預設的是使用的內建的tomcat,所以直接打成war包還是有問題的
```java
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
作用返回scope = compile,也就是說這個專案在編譯,測試,執行階段都是需要這個artifact(模組)對應的jar包在classpath中。對於scope = provided的情況,可以以為這個模組,在要執行的容器中已經有這個模組了,隻影響編譯、測試
maven中三種classpath
編譯,測試,執行
```java
1.compile:預設範圍,編譯測試執行都有效
2.provided:在編譯和測試時有效
3.runtime:在測試和執行時有效
4.test:只在測試時有效
5.system:在編譯和測試時有效,與本機系統關聯,可移植性差
疑問**:在引入spring-boot-starter-web後新增spring-boot-starer-
tomcat會不會出現依賴衝突問題。有空利用idea分析,
在tomcat starter中有這麼的描述
Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web
應該是不會衝突,打的war包也能正常啟動,但是現在不知道是怎麼進行處理的。
pom檔案修改後,修改啟動類
@SpringBootApplication
public class ResttemplatedemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ResttemplatedemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(ResttemplatedemoApplication.class, args);
}
}
關於為何繼承SpringBootServletInitializer,這個類在spring啟動過程中,啟動什麼作用,還需要研究研究原始碼。
然後maven clean package即可。
相關文章
- Docker 安裝 TomcatDockerTomcat
- docker使用大全 tomcat安裝DockerTomcat
- Docker安裝+HelloWorld+執行TomcatDockerTomcat
- [第二十篇]——Docker 安裝 TomcatDockerTomcat
- 『現學現忘』Docker基礎 — 23、使用Docker安裝TomcatDockerTomcat
- Centos7安裝jenkins+docker部署tomcatCentOSJenkinsDockerTomcat
- 使用docker搭建環境:安裝tomcat、部署war包DockerTomcat
- Tomcat安裝Tomcat
- Ubuntu下啟用docker並安裝mysql|redis|tomcat|rapUbuntuDockerMySqlRedisTomcat
- 安裝dockerDocker
- docker 安裝Docker
- 安裝 dockerDocker
- tomcat安裝使用Tomcat
- Tomcat配置安裝Tomcat
- apache tomcat 安裝ApacheTomcat
- tomcat之 JDK8.0安裝、tomcat-8.5.15安裝TomcatJDK
- docker安裝及解除安裝Docker
- Tomcat 8安裝部署Tomcat
- window下tomcat安裝Tomcat
- linux安裝tomcatLinuxTomcat
- Tomcat安裝指令碼Tomcat指令碼
- centos下安裝tomcatCentOSTomcat
- Tomcat之一:安裝Tomcat
- mac下安裝TomcatMacTomcat
- Tomcat安裝與配置Tomcat
- tomcat 下安裝 MantisBTTomcat
- Mac 下安裝tomcatMacTomcat
- docker 安裝 RabbitMQDockerMQ
- docker 安裝 PHPDockerPHP
- docker安裝使用Docker
- Docker安裝NacosDocker
- docker 安裝 mysqlDockerMySql
- Docker安裝mongodbDockerMongoDB
- Docker安裝PortainerDockerAI
- docker安裝harborDocker
- redhat安裝dockerRedhatDocker
- Docker安裝JanusGraphDocker
- docker安裝zookeeperDocker