前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker上手系列:Docker入门hello world

Docker上手系列:Docker入门hello world

作者头像
爱笑的架构师
发布2020-09-24 14:56:30
2K0
发布2020-09-24 14:56:30
举报
文章被收录于专栏:爱笑的架构师爱笑的架构师

0. 什么是docker

Docker 是一个开源的应用容器引擎。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

1. 安装docker

(1)注册docker hub账号

下载docker桌面软件必须要注册docker hub账号:

登录 https://hub.docker.com 按要求注册。

(2)下载docker软件

点击【Explore】-> 【Docker CE】

注意:Docker EE是企业版,Docker CE是社区版,这里我们使用企业版就可以了。

下面以Mac系统为例,windows类似:

(3)检查docker是否成功安装

$ docker --version

出现如下回显表明安装成功:

2. 运行第一个docker容器

登录docker

$ docker login

拉取hello-world镜像

代码语言:javascript
复制
$ docker pull hello-world

Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Already exists 
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest

查询所有镜像列表

代码语言:javascript
复制
$ docker images
REPOSITORY          TAG                    IMAGE ID            CREATED             SIZE
hello-world         latest                 fce289e99eb9        5 months ago        1.84kB

启动容器

代码语言:javascript
复制
$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

至此docker hello world已经成功运行。

在Java web开发中常常会用到tomcat容器,现在我们使用docker运行一个tomcat容器。

拉取镜像

代码语言:javascript
复制
$ docker pull tomcat

查询所有镜像

代码语言:javascript
复制
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              5377fd8533c3        8 days ago          506MB
hello-world         latest              fce289e99eb9        5 months ago        1.84kB

启动容器

代码语言:javascript
复制
$ docker run -it --rm -d -p 80:8080 tomcat

b2f78e1d1a34a9b27e9db3529499eebdb99a0a58b2ba64d1e73a01c260c5e4b8

检查tomcat是否启动成功

查看容器运行状态

代码语言:javascript
复制
$ docker ps
CONTAINER ID  IMAGE   COMMAND            CREATED         STATUS         PORTS                  NAMES
b2f78e1d1a34  tomcat  "catalina.sh run"  6 minutes ago    Up 6 minutes   0.0.0.0:80->8080/tcp   angry_jennings

停止容器

代码语言:javascript
复制
$ docker stop b2f78e1d1a34

3. 编写第一个docker镜像

上面的例子都是拉取官方提供的镜像,然后直接运行,接下来编写第一个hello world镜像:

(1)新建 Dockerfile 文件

代码语言:javascript
复制
$ vim Dockerfile

# 扩展基础镜像
FROM ubuntu:16.04
# 添加作者信息
MAINTAINER coderspace <ray_here@qq.com>
# 输出字符串
CMD echo hello world

(2)编译docker file文件,构建镜像文件

代码语言:javascript
复制
$ docker build -t coderspace/helloworld:0.1 .

-t 参数表示镜像名称和版本号

. 表示docker file 文件在当前路径下

代码语言:javascript
复制
$ docker build -t coderspace/helloworld:0.1 .

Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM ubuntu:16.04
 ---> 13c9f1285025
Step 2/3 : MAINTAINER coderspace <ray_here@qq.com>
 ---> Running in 106949592dec
Removing intermediate container 106949592dec
 ---> 1a5e5cf7094e
Step 3/3 : CMD echo hello world
 ---> Running in 88ca7e153fa0
Removing intermediate container 88ca7e153fa0
 ---> 2aeddf156cf3
Successfully built 2aeddf156cf3
Successfully tagged coderspace/helloworld:0.1

(3)运行镜像文件,启动容器

查看镜像文件列表

代码语言:javascript
复制
$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
coderspace/helloworld   0.1                 2aeddf156cf3        7 minutes ago       119MB

运行镜像

代码语言:javascript
复制
$ docker run coderspace/helloworld:0.1
输出:
hello world

至此编写属于自己的镜像文件流程已介绍完,接下来学习一下如何将自己写的镜像文件推送到官方hub仓库供其他人使用。

4. 推送镜像文件至官方hub仓库

使用docker push 命令可以将本地镜像文件推送至远程仓库。

代码语言:javascript
复制
$ docker push coderspace/helloworld:0.1
The push refers to repository [docker.io/coderspace/helloworld]
92d3f22d44f3: Mounted from library/ubuntu 
10e46f329a25: Mounted from library/ubuntu 
24ab7de5faec: Mounted from library/ubuntu 
1ea5a27b0484: Mounted from library/ubuntu 
0.1: digest: sha256:ee05e03b1a122f82fb8a3e5ce8c5b07b8737a39f78c1d6b064ae91e28d5da211 size: 1150

登录docker hub主页,发现helloworld 已经推送至主仓库:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. 什么是docker
  • 1. 安装docker
    • (1)注册docker hub账号
      • (2)下载docker软件
        • (3)检查docker是否成功安装
        • 2. 运行第一个docker容器
        • 3. 编写第一个docker镜像
          • (1)新建 Dockerfile 文件
            • (2)编译docker file文件,构建镜像文件
              • (3)运行镜像文件,启动容器
              • 4. 推送镜像文件至官方hub仓库
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档