由于上篇有讲到关于docker的cgroup运维,这次就写一篇关于docker的基本使用吧。
还是说明一下,docker不同与物理的虚拟化,基于docker引擎运行一个容器,在仓库里拉取镜像每次容器之间互不干扰。
云计算比赛要求,这里使用的操作系统是centos7.

首先安装docker及配置

yum install -y docker | yum install -y docker-io

vi /etc/sysconfig/docker

在配置文件最后添加

ADD_REGISTRY='--add-registry 192.168.100.10:5000'
INSECURE_REGISTRY='--insecure-registry 192.168.100.10:5000'

这里ip对应你的服务器ip

docker服务重启

systemctl daemon-reload

systemctl restart docker

查看系统信息

docker info

添加本地镜像库

docker load -i <镜像> | docker load < <镜像>
docker images
docker tag <image id> < 镜像仓库源:镜像标签 >比如centos:latest

上传镜像到docker仓库

docker push centos:latest
这样另一台pc就可以使用服务器的镜像了
docker pull centos:latest
docker rmi <image id>(删除镜像)

有了镜像就可以运行容器了

docker run -it --name centos centos:latest /bin/bash(这里是使用一个伪终端与容器进行互交)
docker run -d --name centos centos:latest(这里是在后台运行容器并返回一个id)
docker ps(查看已运行的容器)
docker ps -a(查看所有容器)
docker ps -aq(查看所有容器的id)配合docker rm ${docker ps -aq}使用可以删除所有的容器

如果镜像正在运行要先关闭容器才行

docker stop <容器id>

进入容器

docker attach <容器id> | docker exec -it centos /bin/bash

构建镜像

构建镜像需要一个Dockerfile文件

比如这样(引用菜鸟教程的)

runoob@runoob:~$ cat Dockerfile 
FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D
docker build -t centos:latest .

最近懒得截图所以就不发图片给大家看实例了。



随笔      docker 云计算

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!