Docker常用命令
- docker images --列出本地主机上的镜像
- -a 列出本地所有的镜像 含中间映像层
- -q 只显示镜像ID
- --digests 显示镜像的摘要信息
- --no-trunc 显示完整的镜像信息 - docker search xxx – 搜索镜像
[root@aliyun-hades docker]# docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 2951 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 86 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 55 [OK]
bitnami/tomcat Bitnami Tomcat Docker Image 37 [OK]
kubeguide/tomcat-app Tomcat image for Chapter 1 29
- docker pull xxx 下载镜像 - - 不写版本号 默认下载最新版
- docker rmi xxx 删除某个镜像 xxx为镜像ID 或者唯一镜像名
- docker rmi -f 强制删除
- docker rmi -f $(docker images -q) 删除全部
- docker run 启动容器 ☆☆☆☆☆
- –name 为容器指定新名称
- -d后台运行容器
- -i 以交互模式运行容器 ,通常与-t同时使用
- -t 为容器重新分配一个伪输入终端 通常与-i同时使用
- -P 随机端口映射
- -p 指定端口映射
- docker ps 列出正在运行的容器
- exit 关闭容器并且退出容器 如果在docker 容器内 输入 exit 退出容器
- ctrl+P+Q 容器不停止退出
- docker ps -l 查看上一次运行的容器
- docker ps -n 5 查看最近5次运行过的容器
- docker ps -l -q 查看最近一次运行容器的编号
- docker start XXX(容器名称或者容器ID) 启动容器
- docker restart XXX(容器名称或者容器ID) 容器重启
- docker stop XXX(容器名称或者容器ID) 停止容器
- docker kill XXX(容器名称或者容器ID) 强制停止容器
- docker rm XXX(容器名称或者容器ID) 删除已经停止的容器记录
- docker rm -f XXX(容器名称或者容器ID) 强制删除容器包括正在运行的容器
- docker rm -f $(docker ps -a -q ) 删除所有容器
- docker run -d 容器名 启动守护式容器 (后台运行)
- docker logs -f -t --tail 2 容器ID
- -t 加入时间戳
- -f 跟随最新的日志打印
- –tail 数字 显示最后多少条
- docker top xxx 容器ID 查看容器进程
- docker inspect 容器ID 查看容器内部细节
- docker attach 容器ID 进入正在后台运行的容器中
- docker exec -t 容器ID ls -l /tmp 在宿主机执行容器内的命令(不需要进入容器)
[root@aliyun-hades /]# docker exec -t 02e4d5235ce3 ls -l /tmp
total 8
-rwx------ 1 root root 701 Dec 4 17:37 ks-script-esd4my7v
-rwx------ 1 root root 671 Dec 4 17:37 ks-script-eusq_sc5
- docker cp 容器ID:容器目录文件 /宿主机目录
[root@aliyun-hades /]# docker cp 02e4d5235ce3:/tmp/hades.log /root/
- docker exec -it 容器ID /bin/bash 进入到容器目录
[root@aliyun-hades ~]# clear
[root@aliyun-hades ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
88f65248ae64 tomcat "catalina.sh run" 4 minutes ago Up 4 minutes 0.0.0.0:8888->8080/tcp sleepy_antonelli
[root@aliyun-hades ~]# docker exec -it 88f65248ae64 /bin/bash
root@88f65248ae64:/usr/local/tomcat# ls -l
total 156
-rw-r--r-- 1 root root 18982 Dec 3 11:48 BUILDING.txt
-rw-r--r-- 1 root root 5409 Dec 3 11:48 CONTRIBUTING.md
-rw-r--r-- 1 root root 57092 Dec 3 11:48 LICENSE
-rw-r--r-- 1 root root 2333 Dec 3 11:48 NOTICE
-rw-r--r-- 1 root root 3257 Dec 3 11:48 README.md
-rw-r--r-- 1 root root 6898 Dec 3 11:48 RELEASE-NOTES
-rw-r--r-- 1 root root 16507 Dec 3 11:48 RUNNING.txt
drwxr-xr-x 2 root root 4096 Jan 13 08:25 bin
drwxr-xr-x 1 root root 4096 Mar 1 07:23 conf
drwxr-xr-x 2 root root 4096 Jan 13 08:25 lib
drwxrwxrwx 1 root root 4096 Mar 1 07:23 logs
drwxr-xr-x 2 root root 4096 Jan 13 08:25 native-jni-lib
drwxrwxrwx 2 root root 4096 Jan 13 08:25 temp
drwxr-xr-x 2 root root 4096 Jan 13 08:25 webapps
drwxr-xr-x 7 root root 4096 Dec 3 11:45 webapps.dist
drwxrwxrwx 2 root root 4096 Dec 3 11:43 work
root@88f65248ae64:/usr/local/tomcat#
- docker run -it -d -p 8888:8080 tomcat 后台启动tomcat 端口由8080 改成8888
[root@aliyun-hades ~]# docker run -it -d -p 8888:8080 tomcat
4f9d13a6a886cba125f00502259c45066b38ba88f667900210b2f7b9aed5001e
启动成功之后发现访问tomcat首页 404
- 查了下相关文档 2020.01.05 后的所有版本tomcat镜像都会有此问题
于是进入容器内tomcat目录。
[root@aliyun-hades /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ba1e2330a71 tomcat "catalina.sh run" 25 seconds ago Up 19 seconds 0.0.0.0:8080->8080/tcp magical_hamilton
[root@aliyun-hades /]# docker exec -it 6ba1e2330a71 /bin/bash
root@6ba1e2330a71:/usr/local/tomcat# ls -l
total 156
-rw-r--r-- 1 root root 18982 Dec 3 11:48 BUILDING.txt
-rw-r--r-- 1 root root 5409 Dec 3 11:48 CONTRIBUTING.md
-rw-r--r-- 1 root root 57092 Dec 3 11:48 LICENSE
-rw-r--r-- 1 root root 2333 Dec 3 11:48 NOTICE
-rw-r--r-- 1 root root 3257 Dec 3 11:48 README.md
-rw-r--r-- 1 root root 6898 Dec 3 11:48 RELEASE-NOTES
-rw-r--r-- 1 root root 16507 Dec 3 11:48 RUNNING.txt
drwxr-xr-x 2 root root 4096 Jan 13 08:25 bin
drwxr-xr-x 1 root root 4096 Mar 1 07:35 conf
drwxr-xr-x 2 root root 4096 Jan 13 08:25 lib
drwxrwxrwx 1 root root 4096 Mar 1 07:35 logs
drwxr-xr-x 2 root root 4096 Jan 13 08:25 native-jni-lib
drwxrwxrwx 2 root root 4096 Jan 13 08:25 temp
drwxr-xr-x 2 root root 4096 Jan 13 08:25 webapps
drwxr-xr-x 7 root root 4096 Dec 3 11:45 webapps.dist
drwxrwxrwx 2 root root 4096 Dec 3 11:43 work
发现webapps目录下是空的,把webapps.dist 改成webapps,然后重新访问。
搞定!!
- docker commit -m=“提交描述信息” -a=“作者” 容器ID 要创建的目标容器名称:标签名
[root@aliyun-hades /]# docker commit -m="hades tomcat" -a="hades" 6ba1e2330a71 hades-tomcat:1.2