分类标签归档:docker

docker总结


实用技巧

  1. 清理主机上所有退出的容器
$ docker rm  $(docker ps -aq)
  1. 调试或者排查容器启动错误
## 若有时遇到容器启动失败的情况,可以先使用相同的镜像启动一个临时容器,先进入容器
$ docker run --rm -ti <image_id> sh
## 进入容器后,手动执行该容器对应的ENTRYPOINT或者CMD命令,这样即使出错,容器也不会退出,因为bash作为1号进程,我们只要不退出容器,该容器就不会自动退出

小结

  1. 为了解决软件交付过程中的环境依赖,同时提供一种更加轻量的虚拟化技术,Docker出现了。

Read more

docker网络


网络模式

我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:

  • bridge模式,使用--net=bridge指定,默认设置
  • host模式,使用--net=host指定,容器内部网络空间共享宿主机的空间,效果类似直接在宿主机上启动一个进程,端口信息和宿主机共用
  • container模式,使用--net=container:NAME_or_ID指定,指定容器与特定容器共享网络命名空间
  • none模式,使用--net=none指定

网络模式为空,即仅保留网络命名空间,但是不做任何网络相关的配置(网卡、IP、路由等)

brid

Read more

docker之Dockerfile


Dockerfile是一堆指令,在docker build的时候,按照该指令进行操作,最终生成我们期望的镜像 $ docker build . -t ImageName:ImageTag -f Dockerfile

FROM 指定基础镜像,必须为第一个命令

格式:
    FROM <image>
    FROM <image>:<tag>
示例:
    FROM mysql:5.7
注意:
    tag是可选的,如果不使用tag时,会使用latest版本的基础镜像

MAINTAINER 镜像维护者的

Read more

操作docker


三大核心要素

镜像(Image) 打包了业务代码及运行环境的包,是静态的文件,不能直接对外提供服务。

容器(Container) 镜像的运行时,可以对外提供服务。

仓库(Registry) 存放镜像的地方

公有仓库,Docker Hub,阿里,网易... 私有仓库,企业内部搭建 Docker Registry,Docker官方提供的镜像仓库存储服务 Harbor, 是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能 镜像访问地址形式 registry.devops.com/demo/hello:latest,若没有前面的url

Read more

安装docker


配置环境

若未配置,需要执行如下

$ cat <<EOF > /etc/sysctl.d/docker.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward=1 EOF

$ sysctl -p /etc/sysctl.d/docker.conf

安装配置docker

下载阿里源repo文件

$ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/

Read more

认识docker


为什么出现docker

需要一种轻量、高效的虚拟化能力

什么是docker

基于操作系统内核,提供轻量级虚拟化功能的CS架构的软件产品。 基于轻量的特性,解决软件交付过程中的环境依赖

docker能做什么

  • 可以把应用程序代码及运行依赖环境打包成镜像,作为交付介质,在各环境部署
  • 可以将镜像(image)启动成为容器(container),并且提供多容器的生命周期进行管理(启、停、删)
  • container容器之间相互隔离,且每个容器可以设置资源限额
  • 提供轻量级虚拟化功能,容器就是在宿主机中的一个个的虚拟的空间,彼此相互隔离,完全独立

版本管理

Docker 引擎主要有两个版本:企业版(EE)和

Read more