Docker基础常用命令

Docker基础常用命令

在这里插入图片描述

Docker帮助命令

docker version # 查看版本

docker info # 显示docker系统信息,包括镜像和容器信息

docker 命令 --help # 帮助命令

镜像命令

# 查看
docker images # 查看所有镜像
docker images -aq # 查看所有镜像id
# 搜索
docker search [镜像] # 搜索镜像
docker search mysql # 搜索mysql镜像
# 下载
docker pull [镜像:tag] # 下载镜像
docker pull mysql:5.7 # 下载mysql5.7镜像
# 删除
docker rmi -f [镜像名称或镜像id] # 删除指定镜像 建议使用id删除
docker rmi -f $(docker images -ap) #递归删除所有的镜像

容器命令

说明:有了镜像才能创建容器

测试:下载centos镜像进行测试

docker pull centos
  1. 新建容器并启动
docker run -it [image]

docker run [参数] [image]
  参数说明:
     --name="Name"  容器名字 tomcat7,用来区分容器
     -d             后台方式运行
     -it            使用交互方式运行,进入容器查看内容
     -P             指定容器端口 -p 8080:8080
            -p ip:主机端口:容器端口
            -p主机端口:容器端口
            -p容器端口
            容器端口

docker run -it centos /bin/bash # 启动并进入centos容器
  1. 退出容器
exit     # 停止并退出容器

Ctrl+P+Q # 不停止退出容器
  1. 列出当前运行的容器
docker ps -a #显示当前运行的容器+历史运行容器
docker ps [参数]    # 列出当前运行的容器
            -a      # 显示当前运行的容器+历史运行容器
            -n=?    # 显示最近创建的容器
            -q      # 只显示容器编号
  1. 删除容器
docker rm [容器id] # 删除指定容器

docker rm -f $(docker ps -aq) #递归删除所有的容器

docker ps -aq | xargs docker rm #删除所有的容器
  1. 启动和停止容器
docker start [容器id] # 启动容器
docker restart [容器id] # 重启容器
docker stop [容器id] # 停止当前正在运行的容器
docer kill [容器id] # 强制停止当前容器

常用其他命令

  1. 后台启动容器
 docker run -d [镜像名]

注:
运行:docker run -d centos
docker ps ,发现centos停止了
常见坑:
docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
比如:nginx容器启动后,发现自己没有提供服务,就会自动停止。

  1. 查看日志
docker logs -tf --tail [条目数量] [容器id] 
docker logs -tf [容器id] (如果没有日志)
 自己编写shell脚本
   docker run -d centos /bin/sh -c "while true;do echo yunnuo;sleep 1;done"
  1. 查看容器中进程信息 ps
docker top [容器id]
  1. 查看容器元数据
docker inspect [容器id]
  1. 进入当前正在运行的容器

通常我们使用后台方式运行容器,需要进入容器,修改配置

 docker exec -t [容器id] bashShell  #进入容器,开启新终端
 docker attach [容器id] #今日容器正在执行的终端,不启动新进程
 # 测试
      [root@VM-4-11-centos ~]# docker exec -it 8ab5a3cee8dd /bin/sh
      sh-4.4# 
      sh-4.4# 
      sh-4.4# 
      sh-4.4# 
      sh-4.4# ls
      bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
      sh-4.4# ps -ef
      UID        PID  PPID  C STIME TTY          TIME CMD
      root         1     0  0 01:38 ?        00:00:00 /bin/sh -c while true;do echo yunnuo;sleep 1;done
      root       733     0  0 01:50 pts/0    00:00:00 /bin/sh
      root       800     1  0 01:51 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
      root       801   733  0 01:51 pts/0    00:00:00 ps -ef
      sh-4.4# 
  1. 从容器内拷贝到主机
    命令
docker cp [容器id]:[容器目录文件] [主机目录]  # docker cp 1a2425e2bf06:/home/test.java /home
# 进入容器内部
[root@VM-4-11-centos home]# docker attach 1a2425e2bf06
[root@1a2425e2bf06 /]# cd /home/
[root@1a2425e2bf06 home]# ls
#在容器内创建test.java 文件
[root@1a2425e2bf06 home]# touch test.java
# 退出容器
[root@1a2425e2bf06 home]# exit  
exit
# 查看历史启动容器
[root@VM-4-11-centos home]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                        PORTS     NAMES
1a2425e2bf06   centos    "/bin/bash"              2 minutes ago    Exited (0) 10 seconds ago               bold_neumann
ad41d24e54b5   centos    "-c 'while true;do e…"   24 minutes ago   Created                                 crazy_lewin
# 拷贝指定容器内文件到主机上
[root@VM-4-11-centos home]# docker cp 1a2425e2bf06:/home/test.java /home
[root@VM-4-11-centos home]# ls
lighthouse  test.java  yunnuo.java
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小诺大人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值