docker-运行第一个web应用

扯淡

        前面我们学习了如何在centos系统上安装docker,这一篇文章,我们就开始学习如何在docker里运行一个web应用。
        博主是个java狗,所以呢,就选择用tomcat来做实验了,web容器有很多自己选择喜欢的即可。

大致步骤:
        1,查找tomcat镜像,并pull下载,这里我是建议到https://hub.docker.com里面去搜索下,认准“official”官方标识,这样的镜像我们才放心嘛。
        2,启动tomcat镜像,指定暴露到宿主机器的端口或自动暴露
        3,进入容器内容,创建web页面,访问页面,完成测试

命令准备

在这之前我们要先学习几个常用命令:

命令 作用
docker pull 镜像名称 拉取镜像
docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 运行镜像
docker ps 查看运行的容器
docker image ls 列出所有的镜像
docker stop <CONTAINER ID> 暂停容器
docker rename <CONTAINER ID> <new_name> 重命名容器
docker rmi 镜像名称 删除镜像
docker exec -it <CONTAINER ID> /bin/bash 进入容器
exit 退出容器

 

详细步骤

1,查找tomcat的相关镜像

2,下载镜像,我选择的是tomcat:8.5.29

3,运行镜像,这里我们选择”-d”守护进程运行,和“-p 主机端口:容器端口”指定暴露端口(也可以“-P”自动选择端口暴露),这里需要注意的是镜像的名称,一定要加版本号,否则就默认是latest版本,如果没有这个版本,那你在执行run命令的时候,就会自动pulling latest版本的来启动,那就尴尬了。

4,执行上面的命令后,我们已经可以通过ip:端口访问到tomcat的首页了,现在我们进入容器内部,新建test目录,在目录中新建index.html网页文件

这个操作的<CONTAINER ID>可以通过下面的查看运行中的容器的命令获得

查询结果如下:
[root@localhost home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bfc2ca17edfe tomcat “catalina.sh run” 3 minutes ago Up 3 minutes 0.0.0.0:8888->8080/tcp modest_wright

当然了,还有更合适的方法,就是重命名容器,使用自己定义的名字来代替<CONTAINER ID>,操作起来更加流畅舒服,语法如下:

5,退出容器

6,在浏览器中输入:“http://localhost:8080/test/index.html” 进行测试,能够正常输出即可。

好了,到这里一个最基本的容器使用就完成了。

 

附:docker基本命令

attach —————————- 将本地标准输入、输出和错误流附加到正在运行的容器中。
build —————————- 从dockerfile塑造形象
commit —————————- 从容器的更改创建新映像
cp —————————- 在容器和本地文件系统之间复制文件/文件夹
create —————————- 创建一个新容器
deploy —————————- 部署新堆栈或更新现有堆栈
diff —————————- 检查容器文件系统中文件或目录的更改
events —————————- 从服务器获取实时事件
exec —————————- 在运行的容器中运行命令
export —————————- 将容器的文件系统导出为TAR归档文件
history —————————- 显示图像的历史
images —————————- 图片列表
import —————————- 内容从文件导入到创建一个文件系统映像
info —————————- 显示全系统信息
inspect —————————- 返回对象的底层信息的搬运工
kill —————————- 杀死一个或多个正在运行的容器
load —————————- 从一个tar归档文件或标准输入加载图像
login —————————- 登录到Docker注册表
logout —————————- 日志从一个码头工人的注册表
logs —————————- 获取容器的日志
pause —————————- 在一个或多个容器中暂停所有进程
port —————————- 列出端口映射或容器的特定映射
ps —————————- 显示容器列表
pull —————————- 从注册表中提取图像或存储库
push —————————- 将图像或存储库推入注册表
rename —————————- 重命名一个容器
restart —————————- 重新启动一个或多个容器
rm —————————- 删除一个或多个容器
rmi —————————- 删除一个或多个图像
run —————————- 在新容器中运行命令
save —————————- 保存一个或多个图像到一个tar归档文件(流到stdout默认)
search —————————- 在Docker Hub官方镜像库中搜索镜像
start —————————- 启动一个或多个已停止的容器
stats —————————- 显示容器资源使用率统计的动态流
stop —————————- 停止一个或多个正在运行的容器
tag —————————- 创建一个标签target_image指source_image
top —————————- 显示容器的运行过程
unpause —————————- 取消暂停所有过程的一个或多个容器内
update —————————- 更新一个或多个容器的配置
version —————————- 显示版本信息
wait —————————- 阻塞直到一个或多个容器停止,然后打印出它们的出口代码。

需要查看具体某个命令的使用方法和参数,可以通过“docker COMMAND –help”方式来查询,如:docker run –help

 

 


guolin

guolin

相信世界,向往美好,记录成长过程,分享个人心得,充实平凡生活。 网站信条:因为喜欢,所以热爱。

发表评论

电子邮件地址不会被公开。 必填项已用*标注