Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
本文介绍 Docker CE 的安装使用。
使用yum安装docker
首先查看系统内核版本,来验证是否符合docker要求,通过uname -r
命令:
1 2
| [root@bogon ~] 3.10.0-693.21.1.el7.x86_64
|
安装步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
|
测试hello-world
使用docker ps可以查看当前正在运行的容器。
使用脚本安装docker
1 2 3 4 5 6 7
| curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
systemctl start docker
docker run hello-world
|
镜像加速
由于某些原因,从官网拉取docker镜像十分缓慢,所以建议配置国内的镜像源。
这里使用163的docker镜像源http://hub-mirror.c.163.com
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
1 2 3 4
| # vim /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] }
|
删除docker-ce
执行以下命令即可:
1 2
| yum remove docker-ce rm -rf /var/lib/docker
|
常用命令参数
1
| docker run ubuntu:15.10 /bin/echo "Hello world"
|
run
:运行一个容器。
ubuntu:15.10
指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world"
: 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。
直接输入docker然后回车,可以看到docker支持的所有命令。比如run, build, images, pull等。
具体到每条命令可以用docker COMMAND --help
查看使用方法
常用的一些:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| docker ps 查看正在运行的容器 -a 查看所有容器,包含stop的 docker iamges 查看本机存在的docker镜像 docker search httpd 查找远端docker仓库中的httpd镜像 docker pull httpd 拉取镜像到本地 docker run httpd 启动一个容器 -d 后台运行 -t 启动一个伪终端 -i 允许你对容器内的标准输入 (stdin) 进行交互 -P 将容器内部使用的网络端口映射到外部主机上,默认外部端口32769 -p 5001:5000 将外部5001端口映射到容器的5000端口 --name mydocker 将容器命名为mydocker -v $PWD/www:/www 将主机中当前目录下的www挂载到容器的/www docker logs <NAME>|<HASH> 查看容器内的标准输出 -f 类似tail -f一样来输出内部的stdout docker stop <NAME>|<HASH> 停止容器 docker port <NAME>|<HASH> 查看容器端口映射情况 docker start <NAME>|<HASH> 启动已经停止的容器 docker top <NAME>|<HASH> 查看容器内部运行的进程 docker rm <NAME>|<HASH> 删除不需要的容器,必须是在stop状态 docker inspect <NAME>|<HASH> 查看 Docker 的底层信息,返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
|