标签:1
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。 Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互
一 安装docker及基础命令
yum install -y docker-io
service docker start 启动 docker
docker search centos 搜索镜像
docker pull centos 下载镜像
docker push centos 上传镜像
docker images 查看镜像
docker rmi 删除镜像
docker run -it centos /bin/bash 启动进入镜像
docker ps -a 查看镜像
docker ps -l 查看最近启动的docker容器
docker run -d --name mydocker -it centos sh -name docker容器的名字 -d 是在后台运行
docker rm `docker ps -a -q` 删除所有容器
docker exec -it centos /bin/bash 进入容器
docker logs container 查看容器日志
二 docker端口映射
docker run -d -P -name mynginx -P 随机映射端口
docker run -d -p 91:80 mynginx nginx -p指定宿主机91端口映射到容器80端口
三 docker 数据管理
数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多有用的特性:
数据卷可以在容器之间共享和重用;
对数据卷的修改会立马有效;
对数据卷的更新,不会影响镜像;
卷会一直存在,直到没有容器使用。
数据卷就是从物理机挂到容器中使用 挂载本地的目录到容器里
docker run -it --name test1 -h nginx -v /data centos -h 容器名称 -v 数据卷
docker run -it --name test2 -h nginx -v /opt:/opt centos
数据卷容器 我们需要多个容器之间相互共享数据
docker run -it --name test4 --volumes-from test1 centos
四 dockerfile 构建命令
FROM 来至那个基础镜像
MAINTAINER 维护着
RUN 运行的那个命令
CMD 只能执行一次命令
EXPOSE 暴露的端口
ENV 环境变量设置
ADD 复制本地文件到容器
ENTRYPOINT 配置容器启动后执行的命令
VOLUME 创建一个可以从本地主机或其他容器挂载的挂载点
USER 指定运行容器时的用户名
WORKDIR 切换目录
docker build -t nginx:v1 . 构建镜像
五 Docker 四种网络模式
host 模式,使用 --net=host 指定。
使用宿主机的 IP 和端口
container 模式,使用 --net=container:NAMEorID 指定。
这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace。
none 模式,使用 --net=none 指定。
这个 Docker 容器没有网卡、IP、路由等信息。需要我们自己为 Docker 容器添加网卡、配置 IP 等。
bridge 模式,使用 --net=bridge 指定,默认设置。
bridge 模式是 Docker 默认的网络设置,此模式会为每一个容器分配 Network Namespace、设置 IP 等,并将一个主机上的 Docker 容器连接到一个虚拟网桥上。当 Docker server 启动时,会在主机上创建一个名为 docker0 的虚拟网桥,此主机上启动的 Docker 容器会连接到这个虚拟网桥上。
六 docker私有仓库
docker run -d -p 5000:5000 registry 创建私有仓库
docker pull registry
docker images
先打镜像
docker tag docker.io/nginx 192.168.50.39:5000/nginx/vs:2
docker images
上传镜像
docker push 192.168.50.39:5000/nginx/vs:2
查看镜像是否成功
curl -XGET http://192.168.5.2:5000/v2/_catalog # curl -XGET http://192.168.5.2:5000/v2/image_name/tags/list
下载镜像
docker pull 192.168.50.39:5000/nginx/vs:2
本文出自 “12062356” 博客,谢绝转载!
标签:1
原文地址:http://12072356.blog.51cto.com/12062356/1951969