小丸子学Docker系列之——安装Docker及基本命令的使用

环境要求: 在Centos7.x上安装docker官方要求内核至少是3.10

1.查看内核和操作系统版本
[root@docker-machine ~]# uname -r
3.10.0-327.el7.x86_64
[root@docker-machine ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 


2.yum方式安装——docker安装提供了两种方式,一种是yum,一种是通过scripts安装,这里我们选择前者
[root@docker-machine ~]# yum update


3.添加yum repo
[root@docker-machine ~]# tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF


4.安装docker
[root@docker-machine ~]# yum install docker-engine
=================================================================================================
 Package                                         Arch                            Version                                     Repository                           Size
=================================================================================================
Installing:
 docker-engine                                   x86_64                          1.9.1-1.el7.centos                          dockerrepo                          8.2 M
Installing for dependencies:
 audit-libs-python                               x86_64                          2.4.1-5.el7                                 base                                 69 k
 checkpolicy                                     x86_64                          2.1.12-6.el7                                base                                247 k
 docker-engine-selinux                           noarch                          1.9.1-1.el7.centos                          dockerrepo                           21 k
 libcgroup                                       x86_64                          0.41-8.el7                                  base                                 64 k
 libsemanage-python                              x86_64                          2.1.10-18.el7                               base                                 94 k
 policycoreutils-python                          x86_64                          2.2.5-20.el7                                base                                435 k
 python-IPy                                      noarch                          0.75-6.el7                                  base                                 32 k
 setools-libs                                    x86_64                          3.3.7-46.el7                                base                                485 k

Transaction Summary
==================================================================================================
Install  1 Package (+8 Dependent packages)


5.启动docker deamon并将其设置成开机自启动
[root@docker-machine ~]# systemctl start docker
[root@docker-machine ~]#  systemctl enable docker


6.使用docker info命令验证docker安装是否正常
[root@docker-machine ~]# docker info
Containers: 0
Images: 0
Server Version: 1.9.1
Storage Driver: devicemapper
.....
.....
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-10-14)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-327.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 2
Total Memory: 1.947 GiB
Name: docker-machine
ID: TX5Y:GFE3:UDOT:2GCL:45MW:D75D:CS37:JWO2:GKNE:7WGX:IG63:JCK2
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
注:这里遇到两个警告,尝试停止默认的firewalld服务,用iptables服务替换,警告依旧。目前还没找到原因,但是不影响后面的使用


7.演示一些docker的基础命令
7.1 查看docker client和docker server的版本
[root@docker-machine ~]# docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64


7.2 安装完docker后会多出一个内网ip段(给docker container使用)
[root@docker-machine ~]# ip addr
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 02:42:e6:44:58:df brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever


7.3 查找docker image
[root@docker-machine ~]# docker search jdk
NAME                                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ingensi/oracle-jdk                        Official Oracle JDK installed on centos.        17                   [OK]
jboss/base-jdk                                                                                              14                   [OK]
....

7.4 下载docker image——以hello-world镜像为例
[root@docker-machine metadata]# docker pull hello-world

7.5 查看下载的image list
[root@docker-machine metadata]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
hello-world         latest              0a6ba66e537a        9 weeks ago         960 B           --刚下载的image

7.6 查看docker container list 
简单介绍几个与该命令相关的参数:
-a:显示所有的container,不加此参数默认只显示正在运行的container
-l:显示最近创建的container
[root@docker-machine metadata]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@docker-machine metadata]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
311f8051c47a        hello-world         "/hello"            6 seconds ago       Created                                         gloomy_williams
7628a02d613e        hello-world         "/hello"            53 seconds ago      Created                                         adoring_stallman

7.7 演示运行一个docker nginx image的过程
--下载docker nginx image
[root@docker-machine metadata]# docker pull nginx
[root@docker-machine metadata]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
nginx               latest              5328fdfe9b8e        3 days ago          133.8 MB


--创建对应的静态页面目录以及静态页面
[root@docker-machine metadata]# mkdir -p /var/www/html
[root@docker-machine metadata]# echo "good good study,day day up" > /var/www/html/index.html

--在新的coantainer中运行nginx
简单介绍几个与该命令相关的参数:
--name:给容器指定一个名字
-d:使容器在后台执行
-v:绑定挂载点,将宿主机目录挂载到container中的目录上
-p:端口映射,将宿主主机端口映射到container中的端口
[root@docker-machine metadata]# docker run --name test-nginx2 -d -p 8080:80 -v /var/www/html:/usr/share/nginx/html:ro  nginx

--测试docker nginx image
[root@docker-machine metadata]# curl http://localhost:8080
good good study,day day up

哈哈,成功了,第一次接触docker,感觉很新颖。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-1875261/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20801486/viewspace-1875261/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值