为什么要使用容器

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker-基础 - 图1

  1. 传统的应用部署方式是所有应用共享一个底层操作系统,这样做不利于应用的升级更新和回滚,虽然可以通过创建虚拟机来实现隔离,但是虚拟机非常的重,不利于移植
  2. 新的部署方式采用容器,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。

安装

0. Uninstall old versions

Older versions of Docker were called docker or docker-engine. If these are installed, uninstall them:

sudo apt-get remove docker docker-engine docker.io

1. Set up the repository

  1. sudo apt-get update
  2. sudo apt-get install \
  3. apt-transport-https \
  4. ca-certificates \
  5. curl \
  6. software-properties-common
  7. curl -fsSL hhttp://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  8. sudo add-apt-repository \
  9. "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  10. $(lsb_release -cs) \
  11. stable"

2. INSTALL DOCKER CE

  1. sudo apt-get update
  2. sudo apt-get install docker-ce
  3. sudo apt-get -y install docker-ce=[VERSION] # 安装指定版本

3. Manage Docker as a non-root user

  • Create the docker group. $ sudo groupadd docker
  • Add your user to the docker group. $ sudo usermod -aG docker $USER

4. 配置镜像加速

https://cr.console.aliyun.com/

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://qku911ov.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

安装 docker-compose

Docker Compose是一个用来定义和运行复杂应用的Docker工具。

  • 执行如下命令安装docker-compose
  1. sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. sudo chmod +x /usr/local/bin/docker-compose