Docker常用命令&操作&安装tomcat
1.镜像操作:
操作 | 命令 | 说明 |
---|---|---|
搜索: | docker search 关键字 eg: docker search redis |
常到Docker Hub 查看镜像详细信息【镜像版本…】 Docker Hub |
拉取: | docker pull 镜像名[:tags] docker pull tomcat:9.0.30 |
:tags可选(默认为latest版本),tags:默认为镜像版本 |
列表: | docker images | 查看本地所有镜像 |
删除: | docker rmi 镜像id | 删除指定本地镜像 |
2.容器操作
操作 | 命令 | 说明 |
---|---|---|
运行【创建一个容器实例】: | docker [-- --name 自定容器实例名] -d 镜像模板[:tag] eg: docker run --name myTomcat01 -d tomcat:9.0.30 |
每一次运行镜像,就是创建一个容器实例,每一个实例都是相互独立的,容器名不能重复 – --name:自定义实例名, 可不指定,docke随机分配 -d:后台运行 |
列表: | docker ps【查看运行中的容器】 docker ps -a【查看所有容器,包括已经停止的容器】 |
-a: 显示所有容器,能够显示容器状态 |
停止: | docker stop 容器id/容器名 | 常用容器id来指定要停止的容器 |
启动: | docker start 容器id/容器名 | 启动指定的容器(该容器初始为停止状态) |
删除 | docker rm 容器id | 必须先让该容器停止运行 |
端口映射 | docker run – --name container-name -d -p 主机端口:容器内部默认端口 image-name:tag |
镜像模板名必须放在最后 |
容器日志: | docker logs 容器id/容器名 |
3. 安装tomcat:
1.搜索镜像:
docker search
tomcat
[root@192 ~]# docker search tomcat
2.拉取镜像:
docker pull
tomcat 【默认为 latest版本】
docker pull tomcat:9.0.30 拉取 tomcat 9.0.30版本
[root@192 ~]# docker pull tomcat
3.创建容器实例
docker run --name
container-name -d
image-name:tag
- –name:自定义容器实例名
- 容器名可不指定,docker随机分配
- -d: 后台运行
注:
每一次运行镜像都是在创建一个新的容器,每一个容器都是相互独立的,以容器id区分,且容器实例名不能重复
[root@192 ~]# docker run --name myTomcat01 -d tomcat:latest
950f843fcb936f0bee3622d3c5c356327dd6f25c3fe279535681bebfc919772b
4.查看运行中的容器
docker ps
[root@192 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
950f843fcb93 tomcat:latest "catalina.sh run" About a minute ago Up About a minute 8080/tcp myTomcat01
5.停止运行中的指定实例
docker stop
容器id/容器名
[root@192 ~]# docker stop 950f843fcb93
950f843fcb93
6.查看所有容器
docker ps -a
查看所有容器(包括已经停止的容器)
[root@192 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
950f843fcb93 tomcat:latest "catalina.sh run" 6 minutes ago Exited (143) 43 seconds ago myTomcat01
7.启动指定容器
docker start
容器id/容器名
- 启动指定的容器(该容器初始为停止状态)
[root@192 ~]# docker start 950f843fcb93
950f843fcb93
8.删除指定容器
docker rm
容器id
- 必须先让该容器停止运行
[root@192 ~]# docker stop 950f843fcb93
950f843fcb93
[root@192 ~]# docker rm 950f843fcb93
950f843fcb93
[root@192 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9.容器端口映射
docker run --name
constainer-name -d -p
主机端口:容器内部默认端口 image-name:tag
【必须放在最后】
问题:
-
1.要开放8080端口
- 关闭防火墙【不推荐】
systemctl stop firewallde
关闭防火墙systemctl start firewalld
开启防火墙systemctl status firewalld
查看防火墙状态
- 单独开启8080端口
iptables -L -n
查看端口开放状态firewall-cmd --zone=public --add-port=8080/tcp --permanent
- – --zone #作用域
- – --add-port=8080/tcp #添加端口,格式为:端口/通讯协议
- – --permanent #永久生效,没有此参数重启后失效systemctl start firewalld
重启服务器
- 关闭防火墙【不推荐】
-
2.有的映射没有问题,但是没有办法访问tomcat首页
-
原因:是该版本镜像没有首页,换个版本镜像就行
[root@192 ~]# docker run -d -p 8081:8080 tomcat
1b699944497aa977866f8411c0d2824c547c691e84ae0042dce395d11989c34a
[root@192 ~]# docker run -d -p 8082:8080 --name myTomcat01 tomcat
efe066b293ac523ff8a68806dd92d7739f50f0675b94f62aaaab962695e4ca49
[root@192 ~]# docker run --name myTomcat02 -d -p 8083:8080 tomcat
abd9fba0abbac3449745f637f3a7864802ac84909e5f432b224fa64317658513
[root@192 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abd9fba0abba tomcat "catalina.sh run" 17 seconds ago Up 16 seconds 0.0.0.0:8083->8080/tcp myTomcat02
efe066b293ac tomcat "catalina.sh run" 4 minutes ago Up 4 minutes 0.0.0.0:8082->8080/tcp myTomcat01
1b699944497a tomcat "catalina.sh run" 8 minutes ago Up 8 minutes 0.0.0.0:8081->8080/tcp reverent_edison
10.查看容器日志:
docker logs
容器id/容器名
[root@192 ~]# docker logs f6cb1adc6dc7