Docker常用命令

Docker常用命令

  • 镜像命令

docker images //列出本地主机的镜像

[root@dxk ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world   latest              fce289e99eb9        3 days ago          1.84 kB
REPOSITORY :便是镜像的仓库
TAG:镜像标签
CREATED:镜像创建时间
SIZE:镜像大小

\\参数说明
-a:列出本次所有的镜像(含中间映像层)
-q:只显示镜像ID
--digests:实现镜像的摘要信息
--no-trunc:显示完整的镜像信息

docker search 某个镜像名字

[root@dxk ~]# docker search tomcat
INDEX       NAME                                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/tomcat                                     Apache Tomcat is an open source implementa...   2243      [OK]       
docker.io   docker.io/tomee                                      Apache TomEE is an all-Apache Java EE cert...   59        [OK]

参数:
--no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
--automated:只列出automated build类型的镜像

docker pull 某个镜像名字 //下载镜像

[root@dxk ~]# docker pull tomcat //等价于docker pull tomcat:latest
[root@dxk ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world   latest              fce289e99eb9        3 days ago          1.84 kB
docker.io/tomcat        latest              1a51cb5e3006        5 days ago          462 MB

docker rmi //删除某个镜像

[root@dxk ~]# docker rmi -f hello-world
Untagged: hello-world:latest
Untagged: docker.io/hello-world@sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e
[root@dxk ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat    latest              1a51cb5e3006        5 days ago          462 MB
[root@dxk ~]# docker rmi -f hello-world nginx //删除多个镜像
[root@dxk ~]# docker rmi -f $(docker image -qa) //删除所有镜像
  • 容器命令

docker run +镜像 //新建并启动容器

--name=容器名字 //为容器指定一个名称
-d //后台运行容器,并返回容器ID
-i //以交互模式运行容器,通常与-t同时使用
-t //为容器重新分配一个伪输入终端,通常与-i同时同
-P //随机端口映射
-p //指定端口映射
\\启动交互式容器
[root@dxk ~]# docker run -it  --name=mycentos 1e1148e4cc2c //如果没有指定容器名字,就会随机分配一个
[root@d04548264fa2 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

docker ps //列出当前所有在运行得容器

-a //列出当前所有正在运行得容器,历史上运行过的
-l //显示最近创建的容器
-n //显示最近n个创建的容器
-q //静默模式,只显示容器编号
--no-trunc // 不截断输出
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d04548264fa2        1e1148e4cc2c        "/bin/bash"         3 minutes ago       Up 3 minutes                            mycentos

//退出容器

exit //容器停止提出
ctrl+P+Q //容器不停止退出
[root@d04548264fa2 /]# exit
exit
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@dxk ~]# docker run -it  --name=mycentos2 1e1148e4cc2c
[root@8775063ce68f /]# [root@dxk ~]#
[root@dxk ~]# docker ps  //容器还在继续运行
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
8775063ce68f        1e1148e4cc2c        "/bin/bash"         23 seconds ago      Up 21 seconds                           mycentos2

//启动关闭的容器

[root@dxk ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
8775063ce68f        1e1148e4cc2c        "/bin/bash"         32 minutes ago      Exited (137) 3 minutes ago                       mycentos2
d04548264fa2        1e1148e4cc2c        "/bin/bash"         49 minutes ago      Exited (0) 33 minutes ago                        mycentos
[root@dxk ~]# docker start 8775063ce68f
8775063ce68f
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
8775063ce68f        1e1148e4cc2c        "/bin/bash"         33 minutes ago      Up 2 seconds                            mycentos2

//重启容器

[root@dxk ~]# docker restart 8775063ce68f
8775063ce68f

//停止容器

[root@dxk ~]# docker stop 8775063ce68f
8775063ce68f
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

//强制停止容器

[root@dxk ~]# docker kill d04548264fa2
d04548264fa2
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

//删除已停止的容器

语法 //docker rm 容器id 
[root@dxk ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
337d0d325b2d        centos              "/bin/bash"         3 minutes ago       Exited (137) 2 minutes ago                       centes3
8775063ce68f        1e1148e4cc2c        "/bin/bash"         40 minutes ago      Exited (137) 4 minutes ago                       mycentos2
d04548264fa2        1e1148e4cc2c        "/bin/bash"         57 minutes ago      Up 22 seconds                                    mycentos
f63974f5e112        1e1148e4cc2c        "--name mycentos"   57 minutes ago      Created                                          quirky_murdock
[root@dxk ~]# docker rm f63974f5e112  //删除一个容器
f63974f5e112
[root@dxk ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
337d0d325b2d        centos              "/bin/bash"         5 minutes ago       Exited (137) 4 minutes ago                       centes3
8775063ce68f        1e1148e4cc2c        "/bin/bash"         42 minutes ago      Exited (137) 6 minutes ago                       mycentos2
d04548264fa2        1e1148e4cc2c        "/bin/bash"         59 minutes ago      Up 2 minutes                                     mycentos
//一次性删除多个
[root@dxk ~]# docker rm $(docker ps -qa)
337d0d325b2d
8775063ce68f
13918c4ca76c
e5a765132cdf
421c6a1b94f0
d467cb374ee7
Error response from daemon: You cannot remove a running container d04548264fa25946b9bd55b1ab1377160ab97d326f681931fedf4af145ceeb59. Stop the container before attempting removal or use -f
[root@dxk ~]# docker ps -a  //因为此容器正在运行无法删除
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d04548264fa2        1e1148e4cc2c        "/bin/bash"         About an hour ago   Up 4 minutes                            mycentos
[root@dxk ~]# docker ps -qa | xargs docker rm

//自动守护式容器
docker run -d 容器名

[root@dxk ~]# docker ps -a //此时没有容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@dxk ~]# docker run -d centos
c5ce8c99d85b742088281383d0230d31e3f84be78f2d4a59b514367da91ab82f
[root@dxk ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@dxk ~]# docker ps -a //发现容器已经退出了
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
c5ce8c99d85b        centos              "/bin/bash"         23 seconds ago      Exited (0) 22 seconds ago                       vibrant_noether

//查看容器日志

[root@dxk ~]# docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
7a7ef5892f122b0c9685d993c5af610633ec279f7d40c9489a9f22018a65f527
[root@dxk ~]# docker logs -f 7a7ef5892f12
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy
-t \\显示时间
-f \\实时
--tail \\尾部
[root@dxk ~]# docker logs -t -f --tail 3 7a7ef5892f12
2019-01-05T03:19:55.486538000Z hello zzyy
2019-01-05T03:19:57.489055000Z hello zzyy
2019-01-05T03:19:59.491847000Z hello zzyy
2019-01-05T03:20:01.493139000Z hello zzyy

\查看容器内运行的进程

[root@dxk ~]# docker top 7a7ef5892f12
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                6263                6249                0                   11:10               ?                   00:00:00            /bin/sh -c while true;do echo hello zzyy;sleep 2;done

\查看容器内部细节

[root@dxk ~]# docker inspect 7a7ef5892f12

\进入正在运行的容器并以命令行交互

[root@dxk ~]# docker run -it centos
[root@96261214fdd6 /]# [root@dxk ~]# 
[root@dxk ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
96261214fdd6        centos              "/bin/bash"         9 seconds ago       Up 8 seconds                            peaceful_carson
[root@dxk ~]# docker attach 96261214fdd6
[root@96261214fdd6 /]#
[root@dxk ~]# docker exec -it 96261214fdd6 ls -l /tmp //在容器内执行命令得到结果并退出返回
total 4
-rwx------ 1 root root 836 Dec  5 01:37 ks-script-h2MyUP
-rw------- 1 root root   0 Dec  5 01:36 yum.log
[root@dxk ~]# docker exec -it  96261214fdd6 /bin/bash  //进入容器
[root@96261214fdd6 /]#
\\exec比attach强大
attach //直接进入容器启动命令的终端,不会启动新的进程
exec  //实在容器中打开新的终端,并且可以启动新的进程

\将容器内拷贝文件到主机上

[root@dxk ~]# docker cp 96261214fdd6:/tmp/yum.log /root/
[root@dxk ~]# ls
anaconda-ks.cfg  ks-pre.log  mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz  original-ks.cfg  yum.log
\\docker cp 容器id:容器路径 宿主机容器
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值