Skip to content
DAILY QUOTE

“ ”

Docker部署软件实战

1.Docker安装Nginx

1.1下载Nginx镜像

bash
docker pull nginx

1.2运行Nginx容器

bash
docker run -d --name nginx01 -p 3344:80 nginx

参数说明:

参数作用
-d后台运行容器
--name nginx01指定容器名称为nginx01
-p 3344:80把宿主机3344端口映射到容器80端口
nginx使用nginx镜像创建容器

1.3查看Nginx容器

bash
docker ps

示例输出:

bash
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                                          NAMES
c24816da5b7c   nginx          "/docker-entrypoint.…"   43 seconds ago   Up 42 seconds   0.0.0.0:3344->80/tcp, [::]:3344->80/tcp                                        nginx01

1.4进入Nginx容器

bash
docker exec -it nginx01 /bin/bash

查看Nginx配置目录:

bash
root@c24816da5b7c:/etc/nginx# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params

1.5退出并停止Nginx容器

bash
#1.退出容器
exit

#2.停止容器
docker stop c24

说明:c24是容器id的前几位,只要能唯一匹配容器即可。

2.端口暴露概念

端口映射格式:

bash
-p 宿主机端口:容器端口

示例:

bash
docker run -d --name nginx01 -p 3344:80 nginx

含义:访问宿主机的3344端口时,会转发到Nginx容器内部的80端口。

3.Docker安装Tomcat

3.1临时运行Tomcat

bash
docker run -it --rm tomcat:9.0

说明:--rm表示容器停止后自动删除,一般用于临时测试。

3.2下载Tomcat镜像

bash
docker pull tomcat

3.3查看镜像

bash
docker images

3.4运行Tomcat容器

bash
docker run -d -p 8080:8080 --name tomcat01 tomcat

参数说明:

参数作用
-d后台运行容器
-p 8080:8080把宿主机8080端口映射到容器8080端口
--name tomcat01指定容器名称为tomcat01
tomcat使用tomcat镜像创建容器

3.5测试Tomcat访问

bash
curl localhost:8080

3.6进入Tomcat容器检查目录

bash
docker exec -it tomcat01 /bin/bash

查看webapps目录:

bash
root@1b5e1f8bd4c2:/usr/local/tomcat/webapps# ls
root@1b5e1f8bd4c2:/usr/local/tomcat/webapps# ls -a

3.7Tomcat访问异常问题

问题:

1.Linux命令少了。
2.webapps目录为空。

原因:阿里云镜像默认是最小镜像,不必要的内容会被剔除,只保留最小可运行环境。

解决方案:把webapps.dist目录下的文件拷贝到webapps目录下。

bash
cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/