Linux中Docker容器使用实例

鲁南圣者

鲁南圣者

2016-02-19 11:26

下面图老师小编跟大家分享一个简单易学的Linux中Docker容器使用实例教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

在之前的文章中我们有介绍过Docker的安装(详见系统之家如何在CentOS6.5系统中安装Docker),不少朋友在安装后不知要如何使用Docker容器,下面图老师小编就给大家介绍下Linux如何使用Docker容器。

 Linux中Docker容器使用实例

1.启动一个Docker容器

[root@localhost ~]# docker run -i -t Ubuntu /bin/bash

Unable to find image ‘ubuntu’ locally

Pulling repository ubuntu

04c5d3b7b065: Download complete

511136ea3c5a: Download complete

c7b7c6419568: Download complete

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

70c8faa62a44: Download complete

d735006ad9c1: Download complete

Status: Downloaded newer image for ubuntu:latest

注:

-i:打开容器中的STDIN

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

从上面我们可以看出,首先Docker会检查本地是否存在ubuntu镜像,如果在本地没有找到该镜像的话,那么Docker就会去官方的Docker Hub Registry查看Docker Hub中是否有该镜像。Docker一旦找到该镜像,就会下载该镜像并将其保存到本地的宿主机中。

然后,Docker在文件系统内部用这个镜像创建了一个新的容器。该容器拥有自己的网络、IP地址,以及一个用来可以和宿主机进行通信的桥接网络接口。最后,我们告诉Docker在新容器中要运行什么命令。

当容器创建完毕之后,Docker就会执行容器中的/bin/bash命令。这时间我们就可以看到容器内的shell

root@8c342c0c275c:/#

注:8c342c0c275c代表容器的ID

2.使用容器

查看该容器的主机名

root@8c342c0c275c:/# hostname

8c342c0c275c

可以看到,容器的主机名就是该容器的ID

查看该主机的hosts文件

root@8c342c0c275c:/# cat /etc/hosts

172.17.0.2 8c342c0c275c

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

127.0.0.1 localhost

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

可以看到Docker为该容器的IP地址添加了一条主机配置项。

查看该容器的IP地址

root@8c342c0c275c:/# ip a

1: lo: 《LOOPBACK,UP,LOWER_UP》 mtu 65536 qdisc noqueue state UNKNOWN group default

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

4: eth0: 《BROADCAST,UP,LOWER_UP》 mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

inet 172.17.0.2/16 scope global eth0

valid_lft forever preferred_lft forever

inet6 fe80::42:acff:fe11:2/64 scope link

valid_lft forever preferred_lft forever

查看容器中运行的进程

root@8c342c0c275c:/# ps -aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.1 18168 1976 ? Ss 09:38 0:00 /bin/bash

root 19 0.0 0.0 15568 1144 ? R+ 09:55 0:00 ps -aux

在容器中安装一个软件包

root@8c342c0c275c:/# apt-get update && apt-get install vim

Ign http://archive.ubuntu.com trusty InRelease

Ign http://archive.ubuntu.com trusty-updates InRelease

Ign http://archive.ubuntu.com trusty-security InRelease

Hit http://archive.ubuntu.com trusty Release.gpg

Get:1 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]

Get:2 http://archive.ubuntu.com trusty-security Release.gpg [933 B]

Hit http://archive.ubuntu.com trusty Release

Get:3 http://archive.ubuntu.com trusty-updates Release [62.0 kB]

Get:4 http://archive.ubuntu.com trusty-security Release [62.0 kB]

Get:5 http://archive.ubuntu.com trusty/main Sources [1335 kB]

Get:6 http://archive.ubuntu.com trusty/restricted Sources [5335 B]

Get:7 http://archive.ubuntu.com trusty/universe Sources [7926 kB]

Get:8 http://archive.ubuntu.com trusty/main amd64 Packages [1743 kB]

Get:9 http://archive.ubuntu.com trusty/restricted amd64 Packages [16.0 kB]

Get:10 http://archive.ubuntu.com trusty/universe amd64 Packages [7589 kB]

Get:11 http://archive.ubuntu.com trusty-updates/main Sources [193 kB]

Get:12 http://archive.ubuntu.com trusty-updates/restricted Sources [1874 B]

Get:13 http://archive.ubuntu.com trusty-updates/universe Sources [119 kB]

Get:14 http://archive.ubuntu.com trusty-updates/main amd64 Packages [493 kB]

Get:15 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages [14.8 kB]

Get:16 http://archive.ubuntu.com trusty-updates/universe amd64 Packages [298 kB]

Get:17 http://archive.ubuntu.com trusty-security/main Sources [70.1 kB]

Get:18 http://archive.ubuntu.com trusty-security/restricted Sources [1874 B]

Get:19 http://archive.ubuntu.com trusty-security/universe Sources [19.1 kB]

Get:20 http://archive.ubuntu.com trusty-security/main amd64 Packages [229 kB]

Get:21 http://archive.ubuntu.com trusty-security/restricted amd64 Packages [14.8 kB]

Get:22 http://archive.ubuntu.com trusty-security/universe amd64 Packages [98.1 kB]

Fetched 20.3 MB in 41s (490 kB/s)

Reading package lists.。。 Done

Reading package lists.。。 Done

Building dependency tree

Reading state information.。。 Done

The following extra packages will be installed:

libgpm2 libpython2.7 libpython2.7-minimal libpython2.7-stdlib vim-runtime

Suggested packages:

gpm ctags vim-doc vim-scripts

The following NEW packages will be installed:

libgpm2 libpython2.7 libpython2.7-minimal libpython2.7-stdlib vim

vim-runtime

0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded.

Need to get 9083 kB of archives.

After this operation, 42.9 MB of additional disk space will be used.

Do you want to continue? [Y/n] y

Get:1 http://archive.ubuntu.com/ubuntu/ trusty/main libgpm2 amd64 1.20.4-6.1 [16.5 kB]

Get:2 http://archive.ubuntu.com/ubuntu/ trusty/main libpython2.7-minimal amd64 2.7.6-8 [307 kB]

Get:3 http://archive.ubuntu.com/ubuntu/ trusty/main libpython2.7-stdlib amd64 2.7.6-8 [1872 kB]

Get:4 http://archive.ubuntu.com/ubuntu/ trusty/main libpython2.7 amd64 2.7.6-8 [1044 kB]

Get:5 http://archive.ubuntu.com/ubuntu/ trusty/main vim-runtime all 2:7.4.052-1ubuntu3 [4888 kB]

Get:6 http://archive.ubuntu.com/ubuntu/ trusty/main vim amd64 2:7.4.052-1ubuntu3 [956 kB]

Fetched 9083 kB in 51s (175 kB/s)

Selecting previously unselected package libgpm2:amd64.

(Reading database 。。。 11527 files and directories currently installed.)

Preparing to unpack 。。。/libgpm2_1.20.4-6.1_amd64.deb 。。。

Unpacking libgpm2:amd64 (1.20.4-6.1) 。。。

Selecting previously unselected package libpython2.7-minimal:amd64.

Preparing to unpack 。。。/libpython2.7-minimal_2.7.6-8_amd64.deb 。。。

Unpacking libpython2.7-minimal:amd64 (2.7.6-8) 。。。

Selecting previously unselected package libpython2.7-stdlib:amd64.

Preparing to unpack 。。。/libpython2.7-stdlib_2.7.6-8_amd64.deb 。。。

Unpacking libpython2.7-stdlib:amd64 (2.7.6-8) 。。。

Selecting previously unselected package libpython2.7:amd64.

Preparing to unpack 。。。/libpython2.7_2.7.6-8_amd64.deb 。。。

Unpacking libpython2.7:amd64 (2.7.6-8) 。。。

Selecting previously unselected package vim-runtime.

Preparing to unpack 。。。/vim-runtime_2%3a7.4.052-1ubuntu3_all.deb 。。。

Adding ‘diversion of /usr/share/vim/vim74/doc/help.txt to /usr/share/vim/vim74/doc/help.txt.vim-tiny by vim-runtime’

Adding ‘diversion of /usr/share/vim/vim74/doc/tags to /usr/share/vim/vim74/doc/tags.vim-tiny by vim-runtime’

Unpacking vim-runtime (2:7.4.052-1ubuntu3) 。。。

Selecting previously unselected package vim.

Preparing to unpack 。。。/vim_2%3a7.4.052-1ubuntu3_amd64.deb 。。。

Unpacking vim (2:7.4.052-1ubuntu3) 。。。

Setting up libgpm2:amd64 (1.20.4-6.1) 。。。

Setting up libpython2.7-minimal:amd64 (2.7.6-8) 。。。

Setting up libpython2.7-stdlib:amd64 (2.7.6-8) 。。。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)

Setting up libpython2.7:amd64 (2.7.6-8) 。。。

Setting up vim-runtime (2:7.4.052-1ubuntu3) 。。。

Processing /usr/share/vim/addons/doc

Setting up vim (2:7.4.052-1ubuntu3) 。。。

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode

update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in auto mode

Processing triggers for libc-bin (2.19-0ubuntu6.4) 。。。

退出容器

root@8c342c0c275c:/# exit

exit

当我们输入exit后,容器就停止工作了。只有在指定的/bin/bash命令处于运行状态的时间,容器才会相应地处于运行状态。一旦退出容器,/bin/bash命令也就结束了,这时容器也就停止了。

查看系统中容器的列表

[root@localhost ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8c342c0c275c ubuntu:latest /bin/bash 26 minutes ago Exited (0) 5 minutes ago sharp_bohr

8c342c0c275c:代表容器的ID,

ubuntu:latest :创建容器的镜像

/bin/bash:容器最后执行的命令

26 minutes ago :创建时间

Exited (0) 5 minutes:容器退出的状态

sharp_bohr :容器的名称

Docker中容器的命名

Docker在创建容器时会自动为容器生成一个随机的名称。那么如果我们想在创建一个容器时指定该容器的名称可以使用如下命令:

[root@localhost ~]# docker run --name ovcer_the_container -i -t ubuntu /bin/bash

root@1ce9f640478d:/#

上面的命令将会创建一个名为ovcer_the_container的容器。对于一个合法的容器的名称来说只可以包括以下字符:小写字母a~z、大写字母A-Z、数字0~9、下划线、圆点、横线。

上面就是Linux使用Docker容器的方法介绍了,在使用命令创建Docker容器后,就可以使用命令对Docker容器进行命名了。

展开更多 50%)
分享

猜你喜欢

Linux中Docker容器使用实例

电脑入门
Linux中Docker容器使用实例

Linux和Unix系统中的vi编译器使用入门

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux和Unix系统中的vi编译器使用入门

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Linux系统下使用Docker以及Weave搭建Nginx反向代理

服务器
在Linux系统下使用Docker以及Weave搭建Nginx反向代理

Linux使用watch命令的实例

电脑入门
Linux使用watch命令的实例

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux scp命令使用实例汇总

电脑入门
Linux scp命令使用实例汇总

Linux df命令使用实例汇总

电脑入门
Linux df命令使用实例汇总

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

IE的不合理设计和Bugs

IE的不合理设计和Bugs

Windows Live的@live.com域名注册漏洞 利用代码

Windows Live的@live.com域名注册漏洞 利用代码
下拉加载更多内容 ↓