Docker的安装和配置

实验环境:rhel7.2
一,认识Docker:
Docker是Docker.inc公司开源的一个基于LXC技术构建的Container容器引擎。
Docker通过内核虚拟化技术(namespace和cgroup等)来提供容器的资源隔离和安全保障等。由于Docker通过OS层的虚拟化实现隔离,所以Docker在运行时,不需要类似虚拟机的额外OS开销,提高资源利用率。
LXC所实现的隔离性主要是来自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开
cgroups 实现了对资源的配额和度量。 cgroups 的使用非常简单,提供类似文件的接口,在 /cgroup目录下新建一个文件夹即可新建一个group,在此文件夹中新建task文件,并将pid写入该文件,即可实现对该进程的资源控制。

二,Docker的安装:

rhel7.2安装1.12 版本的docker不需要任何依赖性
yum install -y docker-engine.x86_64 0:1.12.6-1.el7.centos docker-engin    e-selinux.noarch 0:1.12.6-1.el7.centos
 systemctl start docker.service        #启动docker

Docker 在启动时会创建一个虚拟网桥 docker0,默认地址为 172.17.0.1/16, 容器启动后都会被桥接到 docker0 上,并自动分配到一个 IP 地址
这里写图片描述

如果想要修改默认的地址可以进行以下操作:(临时修改)

 systemctl stop docker
 ip link set dev docker0 down
 ip addr del 172.17.42.1/24 dev docker0
 ip addr add 192.168.0.1/24 dev dcoker0
 ip link set dev docker0 up

root@foundation92 docker]# ip addr | grep docker
16: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    inet 192.168.0.1/24 scope global docker0

三,Docker容器的常用命令:

docker load -i ubuntu.tar   #导入镜像
docker save ubuntu > ubuntu.tar导出镜像
docker commit -m 'add files' -p vm1 newubuntu保存对镜像的更改
docker rm vm1删除镜像  docker rmi newubuntu
docker inspect ubuntu查看镜像

docker images       #显示镜像
docker run -it --name vm1 ubuntu bash创建容器
docker ps -a查看容器进程
docker attach vm1连接容器
docker top vm1查看容器进程

docker logs vm1 查看容器指令输出 -f 参数可以实时查看
docker inspect vm1 查看容器详情
docker stats vm1 查看容器资源使用率
docker diff vm1 查看容器修改
docker start vm1
docker exec web1 ls  在容器内执行命令
docker run -d --name web -p 81:80 -v /tmp/docker/web:/website -v  /tmp/docker/vhost.conf:/etc/nginx/conf.d/vhost.conf:ro nginx  #以nginx镜像创建web容器,做端口映射,nginx首页映射,配置文件映射。


详细命令请访问:http://www.runoob.com/docker/docker-command-manual.html
1,容器生命周期管理:
    run
docker run :创建一个新的容器并运行一个命令
-d: 后台运行容器,并返回容器ID-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
实例:
docker run --name mynginx -d nginx:latest   #使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run -P -d nginx:latest  #使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口
docker run -p 80:80 -v /data:/data -d nginx:latest  #使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data
docker run -it nginx:latest /bin/bash  #使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

    kill
docker kill -s KILL mynginx   #杀掉运行中的容器mynginx
-s :向容器发送一个信号
    rm

 -f :通过SIGKILL信号强制删除一个运行中的容器
 -l :移除容器间的网络连接,而非容器本身
 -v :-v 删除与容器关联的卷
docker rm -f  mynginx #强制删除容器mynginx


    pause/unpause
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程
docker pause mynginx  #暂停mynginx容器提供的服务
docker unpause mgnginx #恢复mynginx容器提供的服务
    create
docker create :创建一个新的容器但不启动它
docker create  --name myrunoob  nginx:latest #使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob
    exec
docker exec :在运行的容器中执行命令
2,容器操作
ps
docker ps : 列出容器

inspect
docker inspect : 获取容器/镜像的元数据。

top
docker top :查看容器中运行的进程信息,支持 ps 命令参数。
docker top mymysql  #查看容器mymysql的进程信息

attach
docker attach :连接到正在运行中的容器

events

logs
docker logs : 获取容器的日志

wait
export
port
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值