Docker初体验之hello wrold

我相信经过一番折腾,小伙伴们都安装好了Docker,并且也都设置了镜像加速,好了,现在开始实践Docker吧,先来个hello world压压惊!

Docker允许你在容器内运行应用程序,使用docker run命令来在容器内运行一个应用程序,并且输出‘hello world’

//使用docker run 命令开始运行你的容器内的程序
XXXMacBook-Pro:~ XXX$ docker run ubuntu:15.10 /bin/echo "hello world"

//以下是因为没有ubuntu:15.10镜像,所以docker会在镜像仓库Docker Hub上面下载公共镜像
Unable to find image 'ubuntu:15.10' locally
15.10: Pulling from library/ubuntu
7dcf5a444392: Pull complete 
759aa75f3cee: Pull complete 
3fa871dc8a2b: Pull complete 
224c42ae46e7: Pull complete 
Digest: sha256:02521a2d079595241c6793b2044f02eecf294034f31d6e235ac4b2b54ffc41f3
Status: Downloaded newer image for ubuntu:15.10

//好了,下载好之后,开始运行并且输出'hello world'
hello world

各个参数解析

  • docker:Docker的二进制执行文件
  • run:和前面的docker组合起来运行一个容器
  • ubuntu:15.10 制定要运行的镜像,首先会在本地找镜像,如果找不到,就会在公共镜像仓库中下载公共镜像
  • /bin/echo “hello world”:这个表示在启动的容器里面运行的命令

运行交互式的容器

通过docker的两个参数-i、-t,让docker运行的容器实现对话能力:

XXXMacBook-Pro:~ XXX$ docker run -i -t ubuntu:15.10 /bin/bash
root@97dae4550f62:/# 

参数解析

  • -t:在新容器内指定一个终端或者伪终端
  • -i:允许你对容器内的标准输入(STDIN)进行交互

注意第二行的“root@97dae4550f62:/# ”表示我们已经进入了一个ubuntu15.10 系统的容器

尝试在容器中运行命令“cat/proc/version”和“ls”分别查看当前系统的版本信息和当前目录下的文件列表

root@97dae4550f62:/# cat /proc/version
Linux version 4.9.184-linuxkit (root@a8c33e955a82) (gcc version 8.3.0 (Alpine 8.3.0) ) #1 SMP Tue Jul 2 22:58:16 UTC 2019
root@97dae4550f62:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

可以使用exit命令或者使用ctrl+d退出容器,当出现以下字样,表示已经退出容器了

root@runoob:~#

启动容器

使用以下命令可以创建一个以进程的方式运行的容器

XXXMacBook-Pro:~ XXX$ docker run -d ubuntu:15.10 /bin/sh -c'while true; do echo hello world; sleep 1; done'
abadb60d4961b65f08515437293080b7b04524b9729cd39ba76d187a3dcf712f

在输出中,并没有看到期望的“hello world”,而是一长串的字符,这个字符串是容器的ID,对每个容器来说都是唯一的,可以通过容器的ID来查看容器内发生了什么事情
首先确定容器是否在运行,通过docker ps来查看:

XXXMacBook-Pro:~ XXX$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
144d86713fba        ubuntu:15.10        "/bin/sh -c 'while t…"   20 seconds ago      Up 19 seconds  

输出详情解析:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。

状态包括:
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

  • PORTS:容器的端口信息和使用的连接类型(tcp/udp)
  • NAMES:自动分配的容器名称

运行docker logs可以查看容器内的标准输出:

XXXMacBook-Pro:~ XXX$ docker logs 144d86713fba
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world

停止容器

使用docker stop来停止当前运行的容器:

XXXMacBook-Pro:~ XXX$ docker stop 144d86713fba
144d86713fba

//查看容器的运行状态,看到容器已经停止工作了
XXXMacBook-Pro:~ XXX$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
shbdeMacBook-Pro:~ geohey$ 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值