Docker 指令篇

Docker 指令篇

镜像 Image

镜像操作时,可使用 ImageID 或 仓库:tag 的形式。

构建镜像

docker build .

如:

 docker build \
 -t registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:test.100 \
 -f ./src/Dockerfile \
 .     
  • -t : 镜像仓库和镜像标签,标准写法见下文「远程镜像仓库-构建镜像」
  • -f :Dockerfile的path
  • . : 点 (.) 表示将当前目录下的所有文件作为构建上下文传递给 Docker。
    在 Dockerfile 中,如果有需要复制或访问文件的操作(比如 COPY 或 ADD),这些文件必须在构建上下文中。

    镜像删除

    docker rmi [Image ID]
    docker rmi 仓库:tag

镜像列表

docker images ImageID

镜像详情

docker inspect ImageID

容器 Container

容器初始化并运行

docker run

容器列表

  • 运行中的容器列表

    docker ps
  • 全部容器(包括停止的)

    docker ps -a

容器停止

docker stop 容器

-s signal : 传入容器的信号
-t time : kill这个容器前等待的时间,单位秒

容器启动

docker start 容器

容器重启

docker restart 容器

容器详情

docker inspect 容器

进入容器

docker exec -it 容器 /bin/bash
# 进入一个redis容器并获取某个key
docker exec -it my_redis redis-cli get key

查看日志

docker logs 容器

容器stats

docker stats 容器

允许同时查看多个容器

> docker stats runsen redis-slave1
CONTAINER ID   NAME           CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS
b41b6fc3b2f9   runsen         0.00%     0B / 0B               0.00%     0B / 0B           0B / 0B       0
efcfffd82608   redis-slave1   0.87%     25.81MiB / 7.657GiB   0.33%     9.07kB / 7.66kB   13.4MB / 0B   5

容器内进程

docker top 容器

可以显示容器内的进程列表、进程 ID、CPU 和内存的使用情况等详细信息。

docker top 容器名
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
999                 1155                1136                0                   Oct09               ?                   00:51:24            /run/rosetta/rosetta /usr/local/bin/redis-server redis-server /usr/local/etc/redis/redis.conf

网络 Network

  1. bridge(桥接):

    网络驱动程序。
    创建一个独立的网络,容器可以通过这个网络进行通信。
    容器通过 Docker 的桥接网络相互通信,也可以通过主机的 IP 地址进行外部访问。

  2. host(主机):
    不进行网络隔离,容器与主机共享网络栈。
    这意味着容器的网络直接使用主机的网络接口。
  3. overlay(覆盖):
    用于在多个 Docker 主机之间创建一个虚拟网络。
    适合于在 Docker Swarm 中部署分布式应用。

列表

docker network ls

创建

docker network create 网络名

删除

docker network rm 网络名
  • 清除未使用的网络
    docker prune
 docker network prune
WARNING! This will remove all custom networks not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Networks:
docker-compose_default
redis-net-01
django-cms-quickstart_djangocmsnet

Fan的小破站 fanfine.cn

挂载点 Volume

  • ls 挂载列表
  • inspect 挂载详情
  • rm 删除一个或多个挂载
  • prune 删除所有没有使用的本地挂载
  • create 创建挂载

账号

登录 Docker

docker login [-u] [-p] [registry-url]
  • -u: 用户名
  • -p: 密码

例子:

  1. 登录到 hub.docker
    不使用registry-url 就是

    docker login
  2. 登录到私有仓库
    以阿里云举例:
    基于当前网络环境,可以选择专有网络、公网或经典网络。
    网络环境url可获取于:
    镜像仓库-仓库,右侧会有该仓库的完整url,取其域名部分。

    # 公有地址
    docker login -u username registry.cn-hangzhou.aliyuncs.com
    # 专有网络
    docker login -u username registry-vpc.cn-hangzhou.aliyuncs.com
    # 经典网络
    docker login -u username registry-internal.cn-hangzhou.aliyuncs.com

退出 Docker

docker logout [registry-url]
  1. 退出docker官方仓库

    docker logout
  2. 退出私有仓库

    docker logout [registry-url]

    如:退出阿里云注册表

    docker logout registry.cn-hangzhou.aliyuncs.com

远程镜像仓库

构建镜像

与上文中使用 docker build 不同的是,
使用远程镜像仓库,在推送至仓库之前,该镜像的仓库名有要求,路径案例如下:
[registry-url]/[namespace]/[image-name]:[tag]

如:

docker build -t registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:test.100 -f ./src/Dockerfile .     

使用docker images 时可见:

REPOSITORY                                                      TAG       IMAGE ID       CREATED        SIZE
registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api   test.1   40d21e6fbad2   7 months ago   7.13MB

可以在构建最新版本数字标签的同时,构建latest标签

docker build \
-t registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:4.0 \
-t registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:latest \
-f ./src/Dockerfile \
.

标签

如果镜像构建时没有使用上述标准格式,可以以该镜像为基础构建新镜像

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

如:

# 原仓库名 image-name
docker tag image-name:latest registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:1.0
# Image ID
docker tag 2ab2cda59fac registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:2.0    
# 标准仓库名再打标签,常见于 以最新版本镜像构建 latest镜像
docker tag registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:2.0 registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:3.0 

推送本地镜像到 Docker 注册表

docker push [OPTIONS] NAME[:TAG]

如:

docker push registry.cn-hangzhou.aliyuncs.com/my_template/my_template_api:latest

搜索镜像

在 Docker Hub搜索镜像

docker search [image-name]

如:

> docker search golang

NAME                      DESCRIPTION                                     STARS     OFFICIAL
golang                    Go (golang) is a general purpose, higher-lev…   4945      [OK]

本文由 上传。


如果您喜欢这篇文章,请点击链接 Docker 指令篇 查看原文。


您也可以直接访问:https://www.fanfine.cn/blog/227

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇