Docker学习笔记(99-1)Centos6.8上安装Docker
Posted 非淡泊无以明志,非宁静无以致远 - 长安快马
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker学习笔记(99-1)Centos6.8上安装Docker相关的知识,希望对你有一定的参考价值。
一、升级操作系统,准备工作
1、检查linux内核版本号和是否支持aufs
[[email protected] ~]# uname -r
2.6.32-642.el6.x86_64
[[email protected] ~]# grep aufs /proc/filesystems
3.1以后才支持
2、升级linux内核,安装aufs
yum安装带aufs模块的3.10内核(或到这里下载kernel手动安装:http://down.51cto.com/data/1903250)
cd /etc/yum.repos.d
wget http://www.hop5.in/yum/el6/hop5.repo
yum install kernel-ml-aufs kernel-ml-aufs-devel
3、修改grub的主配置文件/etc/grub.conf,
设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。
[[email protected] yum.repos.d]# vi /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.5-3.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-3.10.5-3.el6.x86_64 ro root=UUID=8544e842-c792-4c40-9545-22a93bcc1852 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-3.10.5-3.el6.x86_64.img
title CentOS 6 (2.6.32-642.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=8544e842-c792-4c40-9545-22a93bcc1852 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-642.el6.x86_64.img
4、重启系统,这时候你的内核就成功升级了。
[[email protected] ~]# uname -r
3.10.5-3.el6.x86_64
查看内核是否支持aufs:
[[email protected]calhost ~]# grep aufs /proc/filesystems
nodev aufs
二、安装docker
1、首先关闭selinux:setenforce 0
sed -i ‘/^SELINUX=/c\SELINUX=disabled‘ /etc/selinux/config
2、在Fedora EPEL源中已经提供了docker-io包,下载安装epel:
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i ‘s/^mirrorlist=https/mirrorlist=http/‘ /etc/yum.repos.d/epel.repo
3、yum安装docker-io:yum -y install docker-io
4、更改配置文件
[[email protected] /]# vi /etc/sysconfig/docker
other-args列更改为:other_args="--exec-driver=lxc --selinux-enabled"
5、启动docker:service docker start
6、查看docker版本:docker version
查看docker日志:cat /var/log/docker
三、docker命令的使用
1、搜索可用的docker镜像:docker search NAME
2、下载镜像:docker pull NAME[:TAG]
如获取最新的centos镜像:docker pull centos:latest
注意:这里要写用docker search搜索到的完整的镜像名。
3、查看安装的镜像:docker images [NAME]
4、在docker容器中运行命令:docker run IMAGE [COMMAND] [ARG...]
docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。
注意:IMAGE=REPOSITORY[:TAG],如果IMAGE参数不指定镜像的TAG,默认TAG为latest。
在刚刚下载的镜像中输出"hello word":docker run centos echo ‘hello world!‘
5、列出容器:docker ps -a
查看最近生成的容器:docker ps -l
查看正在运行的容器:docker ps
6、显示容器的标准输出:docker logs CONTAINERID
无需拷贝完整的id,一般写最开始的三至四个字符即可。
7、在容器中安装新程序,比如安装ifconfig命令(centos7默认没有ifconfig):docker run centos yum install net-tools -y
如果yum不指定-y参数的话,yum命令会进入交互模式,需要用户输入命令来进行确认,在docker环境中是无法响应这种交互的。但使用docker run的-i -t参数就会响应这种交互,用户可以输入命令了,比如:docker run -i -t centos yum install net-tools
8、保存对容器的修改并生成新的镜像:docker commit CONTAINERID [REPOSITORY[:TAG]]
REPOSITORY参数可以是新的镜像名字,也可以是旧的镜像名;如果和旧的镜像名和TAG都相同,会覆盖掉旧的镜像。
9、停止正在运行的容器:docker stop CONTAINERID
默认等待10秒钟再杀死指定容器。可以使用-t参数来设置等待时间。
10、查看容器或镜像的详细信息:docker inspect CONTAINERID|IMAGE
参数可以是容器的ID或者是镜像名(NAME:TAG)。
11、删除容器:docker rm CONTAINERID
查看所有容器ID:docker ps -a -q
删除所有的容器:docker rm $(docker ps -a -q)
12、删除镜像:docker rmi IMAGE
13.查看docker的信息,包括Containers和Images数目、kernel版本等。
四、创建容器并登入的操作
1、创建一个新容器并登入:docker run -i -t IMAGE /bin/bash
使用image创建container并进入交互模式,login shell是/bin/bash,现在可以自由的对容器进行操作了。最后使用exit退出容器。
注意:如果IMAGE参数不指定TAG,默认TAG为latest。
2、启动一个退出的容器:docker start CONTAINERID
3、attach到运行中的容器:docker attach CONTAINERID
以上是关于Docker学习笔记(99-1)Centos6.8上安装Docker的主要内容,如果未能解决你的问题,请参考以下文章