Docker学习笔记(二)镜像、容器、仓库相关命令操作

一、docker镜像操作

列出镜像列表

我们可以使用 docker images 来列出本地主机上的镜像。

各个选项说明:

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

查找镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search xxx 命令搜索 httpd 来寻找适合我们的镜像。

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

下载镜像

我们决定使用上图中的 httpd 官方版本的镜像,使用命令 docker pull xxx来下载镜像。

删除镜像

首先我们用docker images 查看当前有哪些镜像:

 如果我们想删除镜像httpd,则使用docker rmi xxx命令:

二、docker容器操作 

创建容器

首先我们先拉取一个镜像

docker pull  training/webapp

然后我们用刚拉取的镜像创建并启动一个容器(docker run 镜像名 ----创建并启动容器

docker run -d -P --name pydemo training/webapp python app.py

参数说明:

  • -d: 后台启动。
  • -P: 随机映射端口(后面会讲)。
  • --name:给容器起别名
  • training/webapp: training/webapp 镜像。
  • python app.py:容器启动后执行的命令,运行 app.py Python 脚本

总结来说,此命令会基于 training/webapp 镜像创建一个容器,该容器将在后台运行,并自动映射端口。这个容器会被命名为 pydemo,其主要工作是执行 app.py Python 脚本来启动Web应用程序。

  • CONTAINER IDcaa3f50fd8aa - 容器的唯一标识符。
  • IMAGEtraining/webapp - 启动此容器所用的基础镜像名称。
  • COMMAND"python app.py" - 启动容器时执行的命令,这里是运行名为 app.py 的Python脚本。
  • CREATEDAbout an hour ago - 容器创建时间,距离查询时大约一小时前。
  • STATUSUp 6 minutes - 容器当前状态,已运行6分钟。
  • PORTS:
    • 0.0.0.0:32772->5000/tcp - 宿主机的32772端口被映射到容器的5000端口(TCP协议),可以从任意IP地址访问。
    • :::32771->5000/tcp - 宿主机的IPv6任意地址上的32771端口被映射到容器的5000端口(TCP协议),支持IPv6访问。
  • NAMESpydemo - 容器的自定义名称。

 查看所有容器

使用命令docker ps -a查看所有的容器:

停止容器

使用命令docker stop <容器 ID>停止一个正在运行的容器:

启动已停止运行的容器

使用命令docker start <容器 ID> 启动一个已停止的容器:

删除容器

删除容器使用 docker rm 命令:

网络端口映射

前面我们执行了命令docker run -d -P --name pydemo training/webapp python app.py创建了一个 python 应用的容器。这里我们是携带了参数-P来运行,使用docker ps命令我们可以看到容器端口 5000 绑定主机端口 32772

我们也可以使用 -p 标识来指定容器端口绑定到主机端口。

两种方式的区别是(大写P和小写p):

  • -P :是容器内部端口随机映射到主机的端口。
  • -p : 是容器内部端口绑定到指定的主机端口。

docker run -d -p 5000:5000 training/webapp python app.py

三、docker仓库操作

注册

在 https://hub.docker.com 免费注册一个 Docker 账号。

登录和退出

登录需要输入用户名和密码,登录成功后,我们就可以从 docker hub 上拉取自己账号下的全部镜像。

登录

docker login

退出 

docker logout

 推送镜像到本地仓库

用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。

以下命令中的 username 请替换为你的 Docker 账号用户名。

$ docker tag ubuntu:18.04 username/ubuntu:18.04
$ docker image ls

REPOSITORY      TAG        IMAGE ID            CREATED           ...  
ubuntu          18.04      275d79972a86        6 days ago        ...  
username/ubuntu 18.04      275d79972a86        6 days ago        ...  
$ docker push username/ubuntu:18.04
$ docker search username/ubuntu

NAME             DESCRIPTION       STARS         OFFICIAL    AUTOMATED
username/ubuntu

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值