小丸子学Docker系列之——安装Docker及基本命令的使用"/>
小丸子学Docker系列之——安装Docker及基本命令的使用
环境要求: 在Centos7.x上安装docker官方要求内核至少是3.101.查看内核和操作系统版本
[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=/$releasever/
enabled=1
gpgcheck=1
gpgkey=
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博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。
转载于:/
更多推荐
小丸子学Docker系列之——安装Docker及基本命令的使用
发布评论