【Docker】docker安装与使用

一、docker      

      Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

       由于其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。因此对于构建隔离的标准化的运行环境,轻量级的PaaS(如dokku), 构建自动化测试和持续集成环境,以及一切可以横向扩展的应用(尤其是需要快速启停来应对峰谷的web应用)。
1、构建标准化的运行环境,现有的方案大多是在一个baseOS上运行一套puppet/chef,或者一个image文件,其缺点是前者需要base OS许多前提条件,后者几乎不可以修改(因为copy on write 的文件格式在运行时rootfs是read only的)。并且后者文件体积大,环境管理和版本控制本身也是一个问题。
2、PaaS环境是不言而喻的,其设计之初和dotcloud的案例都是将其作为PaaS产品的环境基础
3、因为其标准化构建方法(buildfile)和良好的REST API,自动化测试和持续集成/部署能够很好的集成进来
4、因为LXC轻量级的特点,其启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,能够在单机环境下与KVM之类的虚拟化方案相比能够更加快速和占用更少资源

二、安装和运行

1、安装

yum isntall -y epel-release 安装epel下载源,资源更加丰富

yum install -y docker-io 安装docker

docker search centos 查看docker镜像


为了有更多的资源,而且下载docker更快,我们可以更换源

/etc/default/docker
vi /etc/sysconfig/docker centos7
DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"


2、运行

docker run --name dockercentos -it centos /bin/bash 打开一个docker容器,参数如下:

扫描二维码关注公众号,回复: 1073119 查看本文章
-h 指定主机名
-v 指定数据卷 主机文件夹:容器文件夹   :ro只读  可以用来做文件共享
--volumes-from 容器名       使容器当做数据的卷
--link==cct1(另一容器):webtest 代号,可用于网络连接,防止容器重启IP失效
-icc=false 不允许容器间互联
允许特定链接:
--iptables=true


 比如:docker run -it --name volume-test1 -h centos -v /data centos

三、常用的命令
docker log查看日志
-f 展示最新的日志

docker exec添加新的进程
docker top 查看容器进程

ctrl+p ctrl +q 退出守护进程

docker ps -a 查看所有容器
-l 查看最后一个容器

获取容器pid
docker inspect --format "{{.State.Pid}}" abb315329a17
进入正在运行容器
nsenter --target 2468 --mount --uts --ipc --net --pid

四、关于端口映射

把容器的端口映射到本机端口

docker run -d -P 91:80 --name mynginx2 nginx
-P ip:iphostport:containerport
-P ip::containerport
多个iphostport:containerport,指定多个端口

docker rm  删除容器
docker rmi 删除镜像

猜你喜欢

转载自blog.csdn.net/wkx18330698534/article/details/79691791