Docker(一):hello-docker

docker概述

Docker是一个开发,运输和运行应用程序的开放平台。Docker使您可以将应用程序与基础架构分离,以便快速交付软件。使用Docker,您可以像管理应用程序一样管理基础架构。通过利用Docker的方法快速发送,测试和部署代码,您可以显着减少编写代码和在生产中运行代码之间的延迟。

准备工作

之前就打算在虚拟机安装centos来好好熟悉下linux,不过事情比较多,一直都没有去做。这次刚好打算了解一波docker,所以就把之前丢掉的linux捡起来。

首先我们准备一个centos环境,这里我安装的是CentOS-7-x86_64-Everything-1804,安装好后打算用终端模拟软件去连接,方便操作。在记忆中搜索片刻,敲下了ifconfig,不过好像我安装的这个版本没有给我安装ifconfig等命令,百度一看说是过时了,那找解决办法吧,ip addr,但是没看见熟悉的xxx.xxx.xxx.xxx,额,又去百度一看,需要我们配置网卡。

那就配置吧,按照百度来的教程,vi /etc/sysconfig/network-scripts/ifcfg-xxx,其实这个命令最后的xxx,就是我们敲ip addr后显示的2:后面的数值,1:一般是lo:,打开后将最后一个ONBOOT=no修改为ONBOOT=yes,这样便能启动网卡,然后我们重启网络服务service network restart,再敲ip addr就能看见IP地址了。

docker安装

首先 运行命令yum install docker安装docker,然后我们通过docker version来查看docker是否安装成功

1
2
3
4
5
[root@localhost ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version:

这里能看到我们安装的版本是1.13.1。然后我们启动docker服务,将其设置为 开机启动

1
2
service docker start
chkconfig docker on

修改docker镜像仓库

就像使用maven要修改镜像仓库那样,使用docker也不例外,我们可以将其修改为docker中国官方提供的registry.docker-cn.com来访问,其中包含了主流的docker镜像,通过修改/etc/docker/daemon.json文件,添加如下配置,如果是第一次安装docker,该文件中只是{},替换如下内容即可。

1
2
3
4
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}

hello world

像我们学习编程语言的时候,第一个例子便是输出一行hello world,不过docker提供有docker版的hello world 供我们下载使用,我们通过docker pull去获取它。

1
2
3
4
5
6
Using default tag: latest
Trying to pull repository docker.io/library/hello-world ...
latest: Pulling from docker.io/library/hello-world
9db2ca6ccae0: Pull complete
Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
Status: Downloaded newer image for docker.io/hello-world:latest

我们可以通过docker image ls去查看我们本地安装有哪些镜像

1
2
REPOSITORY              TAG          IMAGE ID           CREATED            SIZE
docker.io/hello-world latest 2cb0d9787c4d 6 weeks ago 1.85 kB

证明镜像下载到本地后,我们通过docker run docker.io/hello-world 来运行这个镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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/engine/userguide/

输出这段提示后,hello-world便自动终止了(像mysql,redis这些提供服务的镜像是不会自动终止)。

docker常用命令

1
2
3
4
5
6
# 启动
service docker start
# 重启
service docker restar
# 停止
service docker stop

参考

# Docker
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×