Docker学习之基本命令

目录

帮助命令: 

镜像命令: 

        docker images  (查看所有镜像)

       docker pull 镜像名[:tag]

         docker rmi 删除镜像

 容器命令:

       docker run [可选参数] image: 新建容器启动

         docker ps 命令   #列出所有运行的容器

         删除容器:

         启动和停止容器的操作:

其他常用命令:

        docker run -d 镜像名(后台启动docker)

        docker logs -f -t --tail 条数 命令 (查看日志)

        docker top 容器ID

        docker inspect 容器ID

        docker exec -it 容器ID /bin/bash(进入容器--两种方式)

        docker cp 容器ID:文件路径 目的主机路径 (从容器内拷贝文件到主机上)

        docker commit -m "描述" -a "作者" 容器ID 目标镜像名:[tag]



帮助命令: 

[root@VM-4-3-centos docker]# docker version    #显示docker的版本信息
[root@VM-4-3-centos docker]# docker info       #显示docker的系统信息,包括镜像和容器的数量
[root@VM-4-3-centos docker]# docker info       #帮助命令

帮助文档地址:https://docs.docker.com/engine/reference/commandline/cli/

镜像命令: 

        docker images  (查看所有镜像)

        查看所有本地的主机上的命令(可选项 -a,--all #列出所有镜像  -q,--quiet # 只显示镜像的Id) 

[root@VM-4-3-centos docker]# docker images

        执行结果:

[root@VM-4-3-centos /]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   9 months ago   209MB
## 字段说明:  
##
##                REPOSITORY:镜像的仓库源
##
##                TAG:镜像的标签 
##
##                IMAGE_ID:镜像的ID
##
##                CREATED:镜像的创建时间
##
##                SIZE:镜像的大小

       docker pull 镜像名[:tag]

        下载镜像:docker pull 镜像名[:tag]

[root@VM-4-3-centos ~]# docker pull mysql

        执行结果:

 指定版本下载:

 查询结果:

         docker rmi 删除镜像

[root@VM-4-3-centos ~]# docker rmi -f 镜像ID # 删除指定容器
[root@VM-4-3-centos ~]# docker rmi -f 镜像ID 镜像ID 镜像ID 镜像ID  # 删除多个镜像
[root@VM-4-3-centos ~]# docker rmi -f $(docker images -aq) #删除所有镜像

 容器命令:

       docker run [可选参数] image: 新建容器启动

docker run [可选参数] image
       #参数说明
        --name="Name"  容器名称 如:tomcat01、tomcat02
        -d             后台方式运行
        -it            使用交互方式运行,进入容器查看内容
        -p             指定容器端口 -p 8080:8080
            -p IP:主机端口:容器端口
            -p 主机端口:容器端口(常用)
            -p 容器端口
            

执行结果

         docker ps 命令   #列出所有运行的容器

# docker ps 命令
        #列出当前正在运行的容器
-a      #列出当前正在运行的容器+历史运行过的容器
-n=?    #显示最近创建的容器
-q      #只显示容器的编号   

        运行结果:

         删除容器:

docker rm 容器ID                #删除指定的容器,不能删除正在运行的容器,如要强制删除使用 rm -f
docker rm -f $(docker ps -aq)   #
docker rm -a -q|xargs docker rm #删除所有的容器

         启动和停止容器的操作:

docker start 容器ID        #启动容器
docker restart 容器ID      #重启容器
docker stop 容器ID         #停止当前正在运行的容器
docker kill 容器ID         #强制停止当前容器

其他常用命令:

        docker run -d 镜像名(后台启动docker)

[root@VM-4-3-centos /]# docker run -d centos
0c5f974466aa2fc3a900c93679fe12e4a39b7a5f8a3e6aa680ab3c242f8fe0e7
[root@VM-4-3-centos /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
### 通过docker ps 发现centos 停止了

#常见的坑,docker容器在后台运行时,就必须要有一个前台进程,docker发现没有应用,就会自动停止

## nginx,容器启动后,发现自己没有提供服务,就会立即停止,就是没有程序了

        docker logs -f -t --tail 条数 命令 (查看日志)

#创建一个新容器
[root@VM-4-3-centos /]# docker run -p 8080:8080 -it centos /bin/bash
#查看日志(此时发现没有日志)
[root@VM-4-3-centos /]# docker logs -f -t --tail 10 aaa8650485cf
#自定义一段shell
[root@VM-4-3-centos /]# docker run -d centos /bin/sh -c "while true;do echo www.ayit.com;sleep 1;done"
#查看日志
[root@VM-4-3-centos /]# docker logs -f -t --tail 10 4ac190bb8dc9
2021-09-15T09:11:50.742909505Z www.ayit.com
2021-09-15T09:11:51.744811739Z www.ayit.com
2021-09-15T09:11:52.746748727Z www.ayit.com

        docker top 容器ID

[root@VM-4-3-centos /]# docker top 4ac190bb8dc9
UID                 PID                 PPID  
root                13329               13308 
root                14844               13329 

        docker inspect 容器ID

[root@VM-4-3-centos /]# docker inspect 4ac190bb8dc9
[
    {
        "Id": "4ac190bb8dc9bf181accb496e6e2b4f49141997e1c0aa9e7a",
        "Created": "2021-09-15T09:09:01.05293223Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo www.ayit.com;sleep 1;done"
        ],
        "State": {

        docker exec -it 容器ID /bin/bash(进入容器--两种方式)

[root@VM-4-3-centos /]# docker exec -it 9497a344df88 /bin/bash  # 方式一 exec
[root@9497a344df88 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  
mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@VM-4-3-centos /]# docker attach 9497a344df88  # 方式二 attach
www.ayit.com
www.ayit.com
www.ayit.com

##区别:
    # exec 进入容器后,开一个新的终端,可以在里面进行操作(常用)
    # attach 进入容器后正在执行的终端,不会开启新的进程

        docker cp 容器ID:文件路径 目的主机路径 (从容器内拷贝文件到主机上)

[root@VM-4-3-centos /]# docker cp b3cd41065704:/opt/test.java /opt
[root@VM-4-3-centos /]# cd opt/
[root@VM-4-3-centos opt]# ls
containerd  G:  microboot-1.0.0-lee.jar  test.java

       docker commit -m "描述" -a "作者" 容器ID 目标镜像名:[tag](提交自定义镜像)

        如果想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像,就好比

[root@VM-4-3-centos ~]# docker commit -a="nni" -m="cp webapps app" 
179af2eb9d3d tomcat01:1.0.0
sha256:333968a7902b7fac4a06608d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

倪家李子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值