Docker的常用命令

一:镜像相关命令:

1、查找镜像信息:docker search [镜像名],这里查找的镜像默认都是在docker hub里查找的,地址为:https://hub.docker.com/

示例:docker search myql

2、拉取镜像:docker pull [镜像名]:tag,这里的tag是可选的,默认是lastest,可以在官方搜索镜像源后指定拉取特定tag的镜像。

示例:docker pull mysql

3、查看本地镜像列表:docker images

4、查看镜像详细信息:docker inspect [镜像名]

5、删除镜像:docker image rm [镜像名]

6、强制删除镜像:docker image rm -f [镜像名]

7、删除名称为none的镜像:$ docker rmi $(docker images | grep "none" | awk '{print $3}')

 

二:容器命令

操作 命令 说明
运行 docker run --name container-name -d image-name  --name:自定义容器名
-d:后台运行
image-name:指定镜像模板 
列表 docker ps(查看运行中的容器) 加上-a可以查看所有容器
启动 docker start container-name/container-id 启动容器
停止 docker stop container-name/container-id

停止容器

删除 docker rm container-id

删除容器

端口映射 -p [主机端口]:[容器端口]

主机端口映射到容器内部端口

容器日志 docker logs container-name/container-id

查看容器日志

更多命令介绍: https://docs.docker.com/engine/reference/commandline/docker/

实例:

1、先拉取tomcat镜像:docker pull tomcat

2、运行tomcat容器:docker run --name mytomcat  -d tomcat

3、停止tomcat容器:docker stop [容器名称/容器id]

4、启动tomcat容器:docker start [容器名称/容器id]

5、删除tomcat容器:docker rm [容器名称/容器id],删除时必须要保证容器是停止状态的

6、一条命令删除所有状态的容器:docker stop $(docker ps -q) & docker rm $(docker ps -aq)

7、映射虚拟机端口与容器内部端口:docker run -d -p [虚拟机端口]:[容器内部端口] [镜像名]

为什么需要做映射呢?是因为我们在访问docker容器时,是无法直接访问到的,我们可以通过访问虚拟机的端口再映射到容器启动的服务端口,从而达到我们访问Docker容器服务的效果。

此时已经启动了tomcat容器,这时候我们进行访问tomcat:

报404了,排查步骤:

1、确定是否是防火墙问题:

(1)先查看防火墙状态:service firewalld status

可以看到防火墙是关闭的,所以不是防火墙问题

(2)如果防火墙没关闭,先关闭防火墙

# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service

(3)进入tomcat的安装目录:docker exec -it b76c09c6ad66 /bin/bash,其中-it 接的是容器ID

(4)分别查看webapps,与webapps.dist的文件情况:

发现本应该映射到webapps目录下的文件目前docker放到了webapps.dist下,所以我们把webapps.dist下文件复制到webapps下:

先把webapps文件夹删除:rm -rf webapps

再把webapps.dist下的文件全拷贝到webapps下: cp -r webapps.dist webapps

退出bash模式:Ctrl+D

(5)再访问docker容器启动的tomcat

posted @ 2022-04-03 17:56  筱筱创  阅读(682)  评论(0编辑  收藏  举报