docker

84 阅读1分钟

docker 命令

docker search mysql -f=STARS=3000 查询点赞数大于3000的images

docker rmi -f imagesID

docker rmi - f $(docker images -aq) rmi 只是 rm 是删除 i、指的images -aq -a指的是--all -q指的只显示imageID

容器命令

docker pull centos 拉取镜像

docker run [可选参数] image --name="Name" 容器的名字, tomcat02用于区别容器 -d 后台运行 -it 使用交互方式运行,进入容器查看内容 -p 指的容器端口-p 8080:8080 -p ip:主机端口:容器端口 -p 主机端口:容器端口(常用) -p 容器端口 -P 随机指定端口

进入容器

docker run -it centos /bin/bash

WeChatd3e410fb764a22e4eaad6feede425896.png

退出容器

exit 容器停止并退出

Ctrl + P + Q 容器不停止退出

查询容器

docker ps 查询容器--列出当前正在运行的容器

docker ps -a列出当前正在运行的容器+带出历史运行过的容器

docker ps -n=? 显示最近创建的容器

docker ps -q 只显示当前运行的容器编号

删除容器

docker rm 容器id 删除指定的容器

docker rm $(docker ps aq) 删除所有容器

docker ps -a -q|xargs docker rm 删除所有容器

启动容器

docker start 容器id 启动容器

docker restart 容器id

docker stop 容器id

docker kill 容器id

常用的其他命令

后台启动容器

docker run -d centos

  • 问题1:docker ps 发现centos 停止了
  • 常见的坑:docker使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
  • nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志

docker logs

docker logs -f -t --tail 10 容器

查看容器的进程信息

docker top 容器id

查看容器的的源数据

docker inspect --help

进入当前正在运行的容器

容器通常都是后台方式运行的,需要进入容器,修改一些配置

docker exec -it 容器id /bin/bash 进入容器后开启一个新的终端

docker attach 容器id 进入容器正在执行的终端,不会启动新的进程

从容器内拷贝文件到主机上

docker cp 容器id:/home/test.java /home

拷贝是一个手动过程,未来我们使用-v卷来,可以实现