Docker Hello World

第一个Docker实例,使用Docker运行Hello World。

在开始运行Docker程序时,我们需要理解Docker的组成,Docker由三部分组成:

  • 仓库(repository):仓库类似于Git中的仓库,Git仓库用于存放用户代码,而Docker仓库则用来存放Docker镜像。由于Docker是国外的东东,访问Docker仓库(Docker Hub)非常慢,因此国内IT巨头搭建了Docker国内镜像,如下:

    • 阿里云Docker仓库

    • 网易云Docker仓库

  • 镜像(image):镜像是容器的基石,容器基于镜像启动,镜像就像是容器的源代码,保存了用于容器启动的各种条件。

  • 容器(container):容器是docker的执行单元,容器是镜像的实例。

仓库配置

由于Docker是国外的,Docker默认将访问国外的Docker Hub仓库;因为国内访问Docker Hub仓库的速度太慢了,于是国内IT巨头公司建立了镜像仓库加速器,下面将使用阿里云的进行加速服务。

 

(1)登录到阿里云,如下图:

Docker Hello World

(2)进入到控制台,找到弹性计算,点击“容器镜像服务”。如下图:

Docker Hello World

(3)点击“镜像加速器”,此时就有怎样去配置加速器的方法了。如下图:

Docker Hello World

(4)进入到 /etc/docker 目录,创建 daemon.json 文件,且添加如下配置:

{
    "registry-mirrors": ["https://hotw1jil.mirror.aliyuncs.com"]
}

(5)重新加载配置文件,如下:

[root@localhost /]# sudo systemctl daemon-reload

(6)重启docker服务,如下:

[root@localhost /]# sudo systemctl restart docker

到这里仓库就配置好了。

运行Hello World

注意,如果你是第一次运行Hello World,Docker会先到本地查找image镜像,如果镜像在本地不存在,Docker会到远程仓库去下载image镜像。然后运行镜像,如下:

[root@localhost /]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

使用 docker images 查看本地仓库有哪些镜像,如下:

Docker Hello World

本地仓库有三个镜像,分别为“redis”、“mysql”、“hello-world”。

生活总会给你答案的,但不会马上把一切都告诉你。只要你肯等一等,生活的美好,总在你不经意的时候,盛装莅临。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号