Docker常用命令

Docker镜像操作:

docker images [OPTIONS] [REPOSITORY[:TAG]]: 查看镜像

-a 查看全部镜像(默认隐藏中间的镜像)

-f 根据提供的条件过滤输出

-q 只展示镜像ID

[root@localhost registry-ui]# docker images redis
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
redis        latest    aea9b698d7d1   8 weeks ago   113MB

[root@localhost registry-ui]# docker images -a
REPOSITORY                 TAG        IMAGE ID       CREATED        SIZE
<none>                     <none>     0c6a4257edba   5 hours ago    171MB
nginx                      latest     605c77e624dd   4 weeks ago    141MB
mysql                      8.0        3218b38490ce   5 weeks ago    516MB
redis                      latest     aea9b698d7d1   8 weeks ago    113MB

[root@localhost registry-ui]# docker images -q
144677a32f87
605c77e624dd
3218b38490ce
aea9b698d7d1

[root@localhost registry-ui]# docker images -f "dangling=false"
REPOSITORY                 TAG        IMAGE ID       CREATED        SIZE
nginx                      latest     605c77e624dd   4 weeks ago    141MB
mysql                      8.0        3218b38490ce   5 weeks ago    516MB
redis                      latest     aea9b698d7d1   8 weeks ago    113MB

docker rmi [OPTIONS] IMAGE [IMAGE...]: 删除镜像

-f 强制删除镜像(包括运行中的镜像)

docker pull [OPTIONS] NAME[:TAG|@DIGEST]: 拉取镜像,可以从docker-hub上拉取Docker Hub

-a 下载所有版本的镜像到仓库

-q 不展示下载的详细信息

docker save [OPTIONS] IMAGE [IMAGE...]: 将一个或多个镜像保存为一个tar文件

-o 写入文件

[root@localhost vagrant]# docker save -o redis.tar redis:latest
[root@localhost vagrant]# ls
nginx.tar  redis.tar

docker load [OPTIONS]: 加载一个镜像从tar文件

-i: 导入镜像

-q: 导入镜像不输出详细信息

[root@localhost vagrant]# docker load -i nginx.tar
Loaded image: nginx:latest

Docker容器操作:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]: 创建容器

--name: 容器名字

-p: 把宿主机的端口映射到容器内的端口

-d: 后台运行然后打印ID

run的命令很多个,举几个例子,大家可以通过docker run --help查看run的几种用法

[root@localhost vagrant]# docker run --name mn -p 80:80 -d nginx
2e620403043262ad59af7679123a4b7ef2b31f29c38ef2cad2d3d3a379bc1d12

docker ps [OPTIONS]:查看所有运行的容器及状态

-a: 查看所有容器,包括没有运行的容器

-f: 根据提供的条件过滤输出

-n:显示n个上次创建的容器(包括所有状态)(默认值-1)

-l: 显示最新创建的容器(包括所有状态)

-q: 展示容器的ID

-s: 展示容器的大小

[root@localhost vagrant]# docker ps -a -f name=redis
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS                     PORTS                                       NAMES
39bfbdc87009   redis     "docker-entrypoint.s…"   7 weeks ago   Exited (255) 6 hours ago   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis

[root@localhost vagrant]# docker ps -n 1
CONTAINER ID   IMAGE                             COMMAND                  CREATED        STATUS                     PORTS                                   NAMES
3ef1ce61dccc   joxit/docker-registry-ui:static   "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:8080->80/tcp, :::8080->80/tcp   registry-ui_ui_1

[root@localhost vagrant]# docker ps -l
CONTAINER ID   IMAGE                             COMMAND                  CREATED       STATUS       PORTS                                   NAMES
3ef1ce61dccc   joxit/docker-registry-ui:static   "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:8080->80/tcp, :::8080->80/tcp   registry-ui_ui_1

[root@localhost vagrant]# docker ps -q
3ef1ce61dccc
f8fdeb8ca89e

[root@localhost vagrant]# docker ps -s
CONTAINER ID   IMAGE                             COMMAND                  CREATED       STATUS       PORTS                                   NAMES                    SIZE
3ef1ce61dccc   joxit/docker-registry-ui:static   "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:8080->80/tcp, :::8080->80/tcp   registry-ui_ui_1         31.3kB (virtual 24.5MB)
f8fdeb8ca89e   registry                          "/entrypoint.sh /etc…"   2 hours ago   Up 2 hours   5000/tcp                                registry-ui_registry_1   0B (virtual 26.2MB)

docker start [OPTIONS] CONTAINER [CONTAINER...]: 启动某个容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]: 停止某个容器

-t: 等待多少秒后停止容器

docker pause CONTAINER [CONTAINER...]: 暂停容器

docker pause CONTAINER [CONTAINER...]: 回复暂停的容器

STATUS
Up 2 hours  正在运行的
Up 12 seconds (Paused)  暂停的
Exited (0) 24 hours ago 停止的

docker logs [OPTIONS] CONTAINER: 查看容器运行日志

-f: 持续输出日志

-n: 从日志末尾显示的行数(默认为“全部”)

-t: 显示时间戳

[root@localhost vagrant]# docker logs mn
2022/01/28 09:27:53 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/01/28 09:27:53 [notice] 1#1: start worker processes
2022/01/28 09:27:53 [notice] 1#1: start worker process 31

[root@localhost vagrant]# docker logs mn -n 2
2022/01/28 09:27:53 [notice] 1#1: start worker processes
2022/01/28 09:27:53 [notice] 1#1: start worker process 31

[root@localhost vagrant]# docker logs mn -t
2022-01-28T09:27:53.126046187Z 2022/01/28 09:27:53 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022-01-28T09:27:53.126049443Z 2022/01/28 09:27:53 [notice] 1#1: start worker processes
2022-01-28T09:27:53.126053381Z 2022/01/28 09:27:53 [notice] 1#1: start worker process 31

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]: 进入容器执行命令

docker exec -it mn bash 进入mn容器

[root@localhost vagrant]# docker exec -it redis redis-cli
127.0.0.1:6379>

数据卷

docker volume COMMAND: 数据卷

docker volume create html 创建一个html的数据卷

docker volume ls 查看数据卷

docker volume inspect html 查看数据集html的信息

docker volume prune 删除所有数据卷

docker volume rm html 删除html数据卷

docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx -v将数据卷html挂载在user/share/nginx/html上

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值