首页 > Docker > Docker第二章(入门基础知识)
2015
12-16

Docker第二章(入门基础知识)

一、启动Docker容器

1.1、使用docker run命令创建容器

[root@localhost ~]# docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from ubuntu
9377ad319b00: Pull complete 
a82f81f25750: Pull complete 
b207c06aba70: Pull complete 
d55e68e6cc9c: Pull complete 
ubuntu:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:a2b67b6107aa640044c25a03b9e06e2a2d48c95be6ac17fb1a387e75eebafd7c
Status: Downloaded newer image for ubuntu:latest
root@1aea59691152:/#
  1. -i:开启交互式shell

  2. -t:为容器分配一个伪tty终端

  3. 当容器启动之后就会执行容器中的/bin/bash命令,这时我们就切换到容器的shell中了

二、使用第一个容器

root@1aea59691152:/# cat /etc/issue
Ubuntu 14.04.3 LTS \n \l

root@1aea59691152:/# ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:01  
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:468 (468.0 B)  TX bytes:558 (558.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@1aea59691152:/#

我们发现与我们普通的系统并没有什么异样

三、自定义容器名

docker run --name tshare365_test -i -t ubuntu /bin/bash

使用 –name 制定容器名

容器名必须是唯一的不能重复

四、重新启动已经停止的容器并附着到容器上

[root@localhost ~]# docker start tshare365_test
tshare365_test
[root@localhost ~]# docker attach tshare365_test
root@8304f5d5a819:/# 
root@8304f5d5a819:/#

注意:细心的读者可能你已经发现了。当我们推出shell时,容器也就随之停止了,那么有什么方式可以实现容器一直都是运行的那。下面我们看一下

五、创建守护式容器

[root@localhost ~]# docker run --name tshare365_dava -d ubuntu /bin/sh -c "while true;do echo hello world; sleep 1; done"
8a6809c295f019381f475b31c4ba62374cbf41205c275ebde57217afcf224d17
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
8a6809c295f0        ubuntu              "/bin/sh -c 'while t   15 seconds ago      Up 14 seconds                           tshare365_dava      
[root@localhost ~]#

使用-d参数就可以创建守护式容器了。我们在容器中执行了一个死循环。

六、查看容器内的logs

#获取容器的日志
docker logs  tshare365_dava
#实时查看日志类似于tail -f
docker logs -f tshare365_dava

七、查看容器内的进程

[root@localhost ~]# docker top  tshare365_dava
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                1389                1176                0                   23:43               ?                   00:00:00            /bin/sh -c while true;do echo hello world; sleep 1; done
root                1694                1389                0                   23:47               ?                   00:00:00            sleep 1
[root@localhost ~]#

八、在容器内部运行进程

8.1、在容器中执行后台任务

使用exec命令,-d表面需要运行一个后台进程 

docker exec -d tshare365_dava touch /tmp/test_file

需要使用exec命令,-d表示需要运行一个后台进程 后面加容器名 和执行的命令

8.2、在容器中启动一个交互式任务

[root@localhost ~]# docker exec -t -i  tshare365_dava  /bin/bash
root@8a6809c295f0:/# 
root@8a6809c295f0:/# exit

九、自动重启容器

由于某种错误导致容器停止运行,我们可以通过–restart标志,让docker自动重启该容器

on-failure时,表示只有到退出代码为非0值的时候,才会自动重启,另外,它还可以接受一个可选的重启次数参数

[root@localhost ~]# docker run --restart=on-failure:5 --name tshare365_dava -d ubuntu /bin/sh -c "while true;do echo hello world; sleep 1; done"
5642e430f5890f0887c58510d26e029caf612f549a1ffcb15f0a32a86078210b
[root@localhost ~]#

十、删除容器

[root@localhost ~]# docker rm tshare365_dava
tshare365_dava

到此docker的入门基础知识就介绍完成了,如果你对docker感兴趣,请持续关注Tshare365谢谢!




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复