接上一篇 在Deepin15.10中安装Docker,现在部署一个tomcat到Docker容器中并运行。
Docker 是服务器–客户端架构。命令行运行docker命令有:
# service 命令的用法
$ sudo service docker start
# systemctl 命令的用法
$ sudo systemctl start docker
Docker把应用程序及其依赖,打包在 image 文件中。
只有通过 image 文件,才能生成 Docker 容器。
image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。
同一个 image 文件,可以生成多个运行的容器实例。
image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。
$ sudo docker image ls
$ sudo docker image rm [imageName]
部署的 tomcat就是一个 image 文件。
(1)搜索tomcat镜像
search 语法:
sudo docker search 镜像名称:镜像TAG
# 如: 没有加TAG,表示默认搜索的是最新版本的tomcat镜像
$ sudo docker search tomcat
# 如:搜索 tomcat 8.5 版本
$ sudo docker search tomcat:8.5
(2)拉取tomcat镜像
下载第一个Stars最高的镜像
# 拉取 tomcat镜像
sudo docker pull tomcat
# 查看docker所有的镜像
sudo docker image ls # sudo docker images
(3)运行tomcat
命令如下:
sudo docker run
-d
-p 8090:8080
--name my_tomcat
-v /data/my_tomcat:/usr/local/tomcat/webapps
tomcat:8.5
docker run
其实是 create 和 start 两个命令的合并-d
表示后台运行容器,并返回容器ID-p 8090:8080
表示 将容器的8080端口映射到主机的8090端口,前者是主机访问端口:后者是容器内部端口--name
给容器起别名,如 my_tomcattomcat:8.5
表示 镜像名称:镜像TAG,默认最新版可以不加TAG-v
表示把容器中的某个文件夹挂载到主机中,格式: -v 主机目录:容器目录docker run -p 8090:8080 tomcat 命令,其实是运行容器,并启动容器内的tomcat
进入容器目录有两种方式:
(1) 进入一个正在运行容器的目录
要点: 获取正在运行容器的ID
需要使用两个命令:
docker ps # 查看正在运行的容器,并得到 容器id
# 进入tomcat容器内部
docker exec -it [容器id] /bin/bash # 中间那个是容器id 就是 CONTAINER_ID
# -it 表示进入
(2) run运行容器并进入容器目录
sudo docker run -it -p 8090:8080 tomcat /bin/bash # 运行容器并进入容器目录,但不启动 tomcat
docker stop [容器id] # 如 sudo docker stop f96d191f065c
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦