【Docker系列】(二) Docker命令大全

Docker帮助启动类命令

  • Docker有些未配置需要切换 root 用户、配置了就不需要

启动Docker

systemctl start docker

停止Docker

systemctl stop docker

重启Docker

systemctl restart docker

查看Docker状态

systemctl status docker

开机启动

systemctl enable docker

查看docker概要消息

docker info

查看docker总体帮助文档

docker --help

查看docker命令帮助文档

docker 具体命令 --help

Docker镜像命令

查看Docker镜像命令
// 查看所有镜像
docker images

// 查看所有镜像、包含历史镜像
docker images -a

// 只显示镜像 ID
docker images -q
REPOSITORYTAGIMAGE IDCREATESIZE
镜像仓库源镜像标签镜像ID创建时间镜像大小
hello-worldlatest93feghrds5 weeks ago1.848kb
搜索Docker镜像命令
// 索引镜像名称
docker search [OPTIONS] 镜像名字

// 镜像限制、只列出N个镜像、默认25个
docker search --limit 5 redis

[root@Hadoop101 amrcloud]# docker search redis
NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
redis                                       Redis is an open source key-value store that…   11277     [OK]       
bitnami/redis                               Bitnami Redis Docker Image                      229                  [OK]
bitnami/redis-sentinel                      Bitnami Docker Image for Redis Sentinel         39                   [OK]
bitnami/redis-cluster                                                                       34
拉取Docker镜像命令
// 如果没有[TAG]就是最新版
docker pull 镜像名字:[TAG]

docker pull redis:6.0.8

查看镜像/容器/数据卷所占空间
// 查看镜像/容器/数据卷所占空间

[root@Hadoop101 amrcloud]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          1         1         13.26kB   0B (0%)
Containers      2         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B

删除某个镜像
// 删除单个镜像
docker rmi -f 镜像ID

// 删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG

// 删除全部
docker rmi -f $(docker images -qa)

Docker容器命令

新建+启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG....]

--name= "容器的新名字"	指定容器名称
-d: 后台运行容器并返回容器ID、也即启动守护式容器(后台运行)

-i: 以交互模式运行容器、通常与-t同时使用
-t:为容器重新分配一个伪输入终端、通常与-i同时使用
也即启动交互式容器

-P:随机端口映射、大写P
-p:指定端口映射、小写p

docker命令启动实例

[root@Hadoop101 amrcloud]# docker run -it ubuntu /bin/bash
root@63adf3e54580:/# ls
bin   dev  home  lib32  libx32  mnt  proc  run   srv  tmp  var
boot  etc  lib   lib64  media   opt  root  sbin  sys  usr

如果要退出
exit
root@63adf3e54580:/# exit 
exit
[root@Hadoop101 amrcloud]# 
查看容器运行实例
// 显示当前所有正在运行容器+历史运行过的
docker ps -a

// 显示最近创建的容器
docker ps -l

// 显示最近n个创建的容器
docker ps -n

// 静默模式、只显示容器编号
docker ps -q


[root@Hadoop101 amrcloud]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS                        PORTS     NAMES
63adf3e54580   ubuntu        "/bin/bash"   29 minutes ago   Exited (127) 28 minutes ago             hardcore_keldysh
e2eb4cf36d09   hello-world   "/hello"      3 weeks ago      Exited (0) 3 weeks ago                  blissful_ritchie
f083630b1d90   hello-world   "/hello"      3 weeks ago      Exited (0) 3 weeks ago                  reverent_jackson
退出容器
// run 进去的的容器、exit退出、容器停止
exit 

// 容器退出不停止
ctrl + p + q

容器进入区别
// 交互式启动
docker run -it redis:6.0.8

// 后台交互式启动、推荐
docker run -d redis:6.0.8

// 进入后台容器
docker attach 容器ID

docker exec -it 容器ID /bin/bash

attach直接进入容器启动命令的终端、不会启动新的进程、用exit退出、**会导致容器的停止**
exec 是在容器中打开新的终端、并且可以启动新的进程、**不会导致容器停止**

启动已停止运行的容器
docker start 容器ID或容器名称

docker restart 容器ID或容器名称

docker stop 容器ID或容器名称

docker kill 容器ID或容器名称

删除容器
docker ps 

// 删除容器、必须是停止了
docker rm 容器ID

// 强制删除、运行也可删除
docker rm -f 容器ID

容器日志查询
docker logs 容器ID
从容器内部拷贝文件到主机
docker cp 容器ID:容器目录 目标路径

[root@Hadoop101 home]# docker cp 22b08d0b2f68:/home/a.txt /home
[root@Hadoop101 home]# ll
总用量 4
drwx------. 18 amrcloud amrcloud 4096 8月  28 19:53 amrcloud
-rw-r--r--.  1 root     root        0 8月  28 22:02 a.txt
[root@Hadoop101 home]# 

从容器导入导出
// 导出成tar包
docker export 容器ID > abc.tar.gz

// 将原来image删除、在重新导入
cat abc.tar | docker import - amrcloud/ubuntu:3.7

容器命令提交(副本)
// 先更新我们的包管理工具
apt-get update
// 然后安装我们需要的vim
apt-get install vim

docker commit 提交容器副本使之成为一个新的镜像

docker commit -m="提交描述消息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

docker commit -m="add vim" -a="zzyy" ef5454rg5r amrcloud/myredis:1.1

容器卷命令
[root@Hadoop101 myregistry]# docker run -d -p 5000:5000 --privileged=true -v /opt/apps/myregistry:/tmp/myDockerData registry
7d96d0065b797373057e1d1f1ab999a97b23e374b79bef9a0506f7836c4cf137
[root@Hadoop101 myregistry]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                                       NAMES
7d96d0065b79   registry   "/entrypoint.sh /etc…"   4 seconds ago   Up 2 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   crazy_torvalds

同步宿主机与本地数据
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器目录 镜像

docker run -d -p 5000:5000 --privileged=true -v /opt/apps/myregistry:/tmp/myRegistryData registry

// 挂载成功

"Mounts": [
            {
                "Type": "bind",
                "Source": "/opt/apps/myregistry",
                "Destination": "/tmp/myRegistryData",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "9b72eddd3395e84ca352fae80a42d46e6d4a90656e1a1eb8f5401c0e94a74b11",
                "Source": "/var/lib/docker/volumes/9b72eddd3395e84ca352fae80a42d46e6d4a90656e1a1eb8f5401c0e94a74b11/_data",
                "Destination": "/var/lib/registry",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ]

只能读取
docker run -d -p 5000:5000 --privileged=true -v /opt/apps/myregistry:/tmp/myRegistryData:ro registry
容器卷继承
docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值