阿里云部署Docker(3)----指令学习

简介:

通过上两节的学习http://blog.csdn.net/minimicall/article/details/40119177 和http://blog.csdn.net/minimicall/article/details/40108305 相信大家已经把docker环境已经搭建完毕,这一节,简单学习docker怎么用。

Hello world

计算机的每一个新事物似乎都是从hello world开始。

root@iZ28ikebrg6Z:~# docker run ubuntu:14.04 /bin/echo 'hello world'
hello world
root@iZ28ikebrg6Z:~# docker run ubuntu /bin/echo 'hello world'
hello world
我们之前执行过docker pull ubuntu, 所以我们从远端服务器拉取了不少ubuntu镜像,这些镜像已经存在在本地,不会再去远端服务器拉取,如果你运行的是本地没有的,docker会自动的去远端库查询和拉取。例如 :

root@iZ28ikebrg6Z:~# docker run centos /bin/echo 'hello world'
Unable to find image 'centos' locally
Pulling repository centos

上述ubuntu是一个镜像,作为一个容器,然后我们进一步运行容器内的APP,即/bin/echo程序。而当执行完echo指令之后,容器内的程序停止了,容器本身也就停止了。记住这个hello world 涉及到点概念,docker ,image, container ,application 。你懂了么?

An Interactive Container

一个可以交互的容器。我们输入如下命令:

root@iZ28ikebrg6Z:~# docker run -i -t ubuntu:14.04 /bin/bash
root@95d20e5442f9:/# 
多了两个参数,一个是 -t ,表示给我们的容器tty,终端。一个是-i 表示可以interactive,可以交互。细心看结果,上面一行还在我们的阿里云机子上iZ28ikebrg6z下一行已经进入到docker ubuntu:14.04镜像映射出的容器里面了,95d2e5442f9中。

你可以在这个bash里面执行一些操作。

root@95d20e5442f9:/# pwd
/
root@95d20e5442f9:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

如果你想退出这个bash,那么可以运行:

root@95d20e5442f9:/# exit
exit
root@iZ28ikebrg6Z:~# 
这样即退出了bash,当然容器也就退出了。

A Daemonized Hello world

守候进程化,即后台化。

执行如下命令:

root@iZ28ikebrg6Z:~# docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
d8eca97420317ae9f2fcd7655ab5c16c964d60f7bd644a8726ce473b075852d8
 -d 选项就是告诉docker,这个容器需要后台化。但是,为什么输出是一串看不懂的字符串,而不是每秒输出一次hello world呢?

这一长串东西叫做容器的ID,我们可以通过它使用容器。

root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
d8eca9742031        ubuntu:14.04        "/bin/sh -c 'while t   3 minutes ago       Up 3 minutes                            mad_jones    

看到了吧,我们刚刚那个容器被列出来了。最后一列是名字,什么意思,docker都是一层层的增加的,具体后面细说,你执行一条命令,对你使用的镜像是没有影响的,但是你执行了毕竟是有数据或者其他的东西发生了变化,这个时候,docker给你自动取个名字(你可以指定名字),然后通过这个名字,就像一个新的镜像一样,后面你可以保存它。

打印日志:

root@iZ28ikebrg6Z:~# docker logs mad_jones
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
停止任务:

root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
d8eca9742031        ubuntu:14.04        "/bin/sh -c 'while t   43 minutes ago      Up 43 minutes                           mad_jones           
root@iZ28ikebrg6Z:~# docker stop mad_jones
mad_jones
root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@iZ28ikebrg6Z:~# 


好了,hello world就到次结束。后续推出更加高级的教程。






相关文章
|
7天前
|
关系型数据库 MySQL Shell
4.Docker 应用部署
4.Docker 应用部署
|
2天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署Nas-Cab个人NAS平台
【5月更文挑战第2天】云原生之使用Docker部署Nas-Cab个人NAS平台
50 1
|
3天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署RSS阅读器Huntly
【5月更文挑战第1天】云原生之使用Docker部署RSS阅读器Huntly
28 4
|
6天前
|
负载均衡 Cloud Native Linux
Docker部署Traefik结合内网穿透远程访问Dashboard界面
Docker部署Traefik结合内网穿透远程访问Dashboard界面
|
7天前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
|
7天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
7天前
|
弹性计算 Shell 数据安全/隐私保护
自动化构建和部署Docker容器
【4月更文挑战第30天】
11 0
|
8天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
50 0