docker related

centos6.5上安装docker

1.升级centos6.5的内核,请参考:http://blog.csdn .NET/weiguang1017/article/details/46362639

2.使用EPEL库安装Docker

   $ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
   $ sudo yum install docker-io

   $sudo yum upgrade device-mapper-libs

//centos docker安装
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
[root@localhost ~]# cat /etc/redhat-release  or [root@localhost ~]# cat /etc/*release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -r
3.10.0-693.21.1.el7.x86_64
满足需求
1,安装 Docker
Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:
[root@runoob ~]# yum -y install docker-io
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
启动 Docker 后台服务
[root@runoob ~]# service docker start
测试运行 hello-world
[root@runoob ~]#docker run hello-world
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
查看版本
[root@localhost ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false
 
查看docker信息
[root@node3 ~]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
 
 运行命令
[plain] view plain copy
[root@localhost ~]# docker run --help
Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
 
docker run -d -i -t <imageID> /bin/bash 
这样就能启动一个一直停留在后台运行的Centos了。如果少了/bin/bash的话,Docker会生成一个Container但是马上就停止了,不会一致运行即使有了-d参数。
[root@localhost ~]# docker pull centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:4b63b3e9fe127c07a15458af7fcc187980a9fff8069063057bbc9c282f26f539
Status: Downloaded newer image for docker.io/centos:latest
[root@localhost ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world   latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/centos        latest              e934aafc2206        3 weeks ago         199 MB
[root@localhost ~]# docker images centos
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              e934aafc2206        3 weeks ago         199 MB
运行一个 Docker 容器:
[root@localhost ~]# docker run -i -t centos /bin/bash
[root@dbf66395436d /]#
我们可以看到,CentOS 容器已经被启动,并且我们得到了 bash 提示符。在 docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。
若要断开与容器的连接,输入 exit。
[root@localhost ~]# docker run -itd centos /bin/bash
e8a6ca8a76b3f02d1ee463b80c32937812a71c895e12d457d605198c03a88f67
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e8a6ca8a76b3        centos              "/bin/bash"         6 seconds ago       Up 4 seconds                            goofy_galileo
5fe1f48c68d0        centos              "/bin/bash"         3 minutes ago       Up 3 minutes                            wonderful_babbage
[root@localhost ~]# docker attach 5fe1f48c68d0
[root@5fe1f48c68d0 /]#

Docker Hello World
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
输出Hello world
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
[root@localhost ~]# docker run centos /bin/echo "hello world"
hello world
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
这种方式运行完就结束了
各个参数解析:
docker: Docker 的二进制执行文件。
run:与前面的 docker 组合来运行一个容器。
ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令

停止docker进程
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c284bde95d6f        centos              "/bin/bash"         6 minutes ago       Up 6 minutes                            pedantic_torvalds
[root@localhost ~]# docker stop pedantic_torvalds
pedantic_torvalds
[root@localhost ~]# docker stop c284bde95d6f
c284bde95d6f

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
搜索容器
我们还可以搜索基于 Fedora 和 Ubuntu 操作系统的容器。
搜索基于 Fedora 和 Ubuntu 操作系统的容器。
[root@localhost ~]# docker search ubuntu
[root@localhost ~]# docker search fedora
Docker 容器使用
Docker 客户端
docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。
runoob@runoob:~# docker
查docker帮助
docker 命令 --help
example
[root@localhost ~]# docker ps --help
Usage:  docker ps [OPTIONS]
List containers
Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
      --help            Print usage
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display numeric IDs
  -s, --size            Display total file sizes
 
[root@localhost ~]# docker ps -a -n 3
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS               NAMES
86f49a31e343        centos              "/bin/bash"              42 seconds ago      Up 41 seconds                                    suspicious_wilson
39ac0cb24835        centos              "/bin/bash"              8 minutes ago       Exited (137) 7 minutes ago                       compassionate_montalcini
b3e275877cf5        centos              "/bin/echo 'hello ..."   10 minutes ago      Exited (0) 10 minutes ago                        gallant_stonebraker
运行一个web应用
前面我们运行的容器并没有一些什么特别的用处。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
runoob@runoob:~# docker pull training/webapp  # 载入镜像
runoob@runoob:~# docker run -d -P training/webapp python app.py
参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
查看 WEB 应用容器
使用 docker ps 来查看我们正在运行的容器
runoob@runoob:~$ docker ps
这里多了端口信息。
PORTS
0.0.0.0:32769->5000/tcp
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
这时我们可以通过浏览器访问WEB应用
我们也可以指定 -p 标识来绑定指定端口。
runoob@runoob:~$ docker run -d -p 5000:5000 training/webapp python app.py
docker ps查看正在运行的容器
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值