Docker简介

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

系统结构

Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。

odoo dockerfile编排 docker odoo14_Docker

 

Docker通用场景

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

 

Docker安装

系统要求:

内核大于:3.10

 

部署Docker

  • 使用https方法安装CA证书

sudo apt-get update
sudo apt-getinstall apt-transport-https ca-certificates

  • 添加新的GPG密钥

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF76221572C52609D

  • 删除/etc/apt/sources.list.d/docker.list文件中的内容,修改为:

deb https://apt.dockerproject.org/repo ubuntu-trusty main

  • 安装依赖软件包

sudo apt-get update
sudo apt-get purgelxc-docker
sudo apt-cachepolicydocker-engine
sudo apt-get installlinux-image-extra-$(uname -r) linux-image-extra-virtual

  • 安装Docker

sudo apt-get install docker-engine

  • 启动Docker守护进程

sudo service docker start

odoo dockerfile编排 docker odoo14_odoo dockerfile编排_02

  • 查看Docker信息

sudo docker info

odoo dockerfile编排 docker odoo14_docker_03

 

Docker的使用

我们需要先下载一个原始镜像,原始镜像一般为linxu内核精简版,很多命令都不支持。需要自行安装。

查找Docker ubuntu镜像

sudo docker search ubuntu

odoo dockerfile编排 docker odoo14_odoo dockerfile编排_04

下载ubuntu 镜像至本地

sudo docker pull ubuntu

odoo dockerfile编排 docker odoo14_ubuntu_05

查看本地的镜像

sudo docker images

odoo dockerfile编排 docker odoo14_docker_06

使用ubuntu镜像运行一个容器

sudo docker run -it ubuntu /bin/bash

odoo dockerfile编排 docker odoo14_odoo dockerfile编排_07



我们发现这个ubuntu容器不支持vim。

在容器中安装vim工具


odoo dockerfile编排 docker odoo14_docker_08

 


odoo dockerfile编排 docker odoo14_Docker_09

退出容器,提交更改

docker ps -l #查看当前运行的容器
docker commit 21e6 ubuntu-vim #提交容器更改,保存镜像名为:ubuntu-vim

odoo dockerfile编排 docker odoo14_Docker_10

再次查看本地Docker镜像

sudo docker images

odoo dockerfile编排 docker odoo14_odoo dockerfile编排_11


已经存在了刚才提交的:ubuntu-vim镜像

使用ubuntu-vim运行容器


odoo dockerfile编排 docker odoo14_Docker_12


发现提交的更改已经生效。已经存在vim命令。

 

  

部分Docker常用命令

  1. docker卸载:sudo apt-get purge docker-engine
  2. docker升级:sudo apt-get upgrade docker-engine
  3. 查看本地镜像:docker images
  4. 查看docker版本:docker version
  5. 查找镜像:docker search tutorial
  6. 下载镜像:docker pull ubuntu
  7. docker中运行helloworld:docker run ubuntu echo "hello word"
  8. 保存对容器的修改:docker commit 698 ubuntu
  9. 发布镜像:docker push ubuntu
  10. 为镜像打上tag:docker tag test:latest s101070791/test:latest
  11. 删除镜像:docker rmi imageName
  12. 保存镜像到本地:docker save -o centOS.tar centos
  13. 加载本地镜像:docker load --input centOS.tar
  14. 停止容器:docker stop 707c
  15. 打开ssh通道:docker run -p 10022:22 -d sshd1:ubuntu /run.sh