Docker(二)

62 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天,点击查看活动详情

Docker常用命令

帮助命令 docker version #docker的版本信息 docker info #显示docker的系统信息 docker 命令 --help #帮助命令

镜像命令 docker images 查看所有本地的主机上的镜像 docker search 搜索镜像 docker pull 下载镜像 docker rmi 删除镜像

容器命令 说明:我们有了镜像才可以创建容器,linux 下载一个centos进行学习 docker pull centos 新建容器去启动 docker -run【可选参数】 image 参数说明

--name=“Name" 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口,-p 80808080
启动并进入容器
docker run -it centos /bin/bash

[root@VM-0-12-centos ~]# docker run -it centos /bin/bash
[root@8b850e860726 /]# ls #查看容器内的centos,基础版本,很多命令是不完善的
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
exit   从容器中退回主机
列出所有的运行的容器
docker os 命令
#列出当前正在运行的容器
-a 列出当前正在运行的容器+带出历史运行过的容器
-n=? 显示最近创建的容器
-q 只显示容器的编号
推出容器
exit 直接容器停止并推出
ctrl+P+Q 容器不停止推出
删除容器
docker rm 容器id  删除指定的容器
docker rm -f $(docker ps -aq) 删除所有容器
docker ps -a -q|xargs docker rm 删除所有容器
启动和停止容器的操作 
docker start 容器id   启动容器
docker restart 容器id 重启容器
dockers stop 容器id 停止当前正在进行的容器
docker kill 容器id 强制停止当前容器

其他常用命令

后台启动容器

命令 docker run -d 容器名
例:docker run -d centos
问题docker ps 发现 centos 停止了
常见的坑 docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
nginx 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日志

docker logs -f -t --tail 容器,没有日志
自己编写一个shell脚本\

[root@VM-0-12-centos ~]# docker run -d centos /bin/sh -c "while true; do echo kuangshen; sleep 1;done" a51474554baa3b42e3cc1498d0f1c330f543ff5fa2891f8d4f57595f6ce85dea

显示日志

--tf 显示日志
--tail number 要显示日志条数
docker logs -tf --tail 10 dce7b86171bf\

查看容器中进程信息 ps

docker top 容器id

查看镜像的元数据

docker inspect 容器id

进入当前正在运行的容器

我们通常容器都是是哦他那个后台方式运行的,需要进入容器,修改一些配置
docker exec -it 容器id bashShell
方式二
docker attach 容器id

docker exec 进入容器后开启一个新的终端,可以在里面操作
docker attach 进入容器正在执行的终端,不会启动新的进程\

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

docker cp 容器id :容器内路径 目的的主机路径