Docker容器

Docker是什么

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口,以便隔离进程和资源。Docker 将应用程序与该程序的依赖,打包在一个文件里面,当运行文件时,首先生成一个虚拟容器,之后程序在该虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心部署应用时的环境问题。

Docker是基于LXC的高级容器引擎,go语言实现。表现形式主要是应用程序内容交付如海运货物。
Docker容器_第1张图片

Docker组件协作方式

Docker容器_第2张图片

Docker安装

三种方式:
首先确认防火墙是否关闭

systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config   // centos7之后的安全机制,需要关闭,改为disabled

Docker容器_第3张图片
看到下图则正确关闭
在这里插入图片描述
安装iptables

yum -y install iptables-services
systemctl start iptables

Script

yum update  //更新系统
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
docker run hello-world  //默认镜像

Yum

yum update  //更新系统
cat >/etc/yum.repos.d/docker.repo << -EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg EOF
yum install docker
systemctl start docker
systemctl enable docker
docker run hello-world  //默认镜像

Rpm

直接下载安装,分别下载配套的noarch和普通版本。
stable版本下载
在这里插入图片描述
将文件下载在同一个目录下

yum -y install * //安装docker
systemctl start docker
systemctl enable docker
docker run hello-world  //默认镜像

Docker加速配置

cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
chmod 777 /etc/systemd/system/docker.service //赋予权限
vim docker.service //添加新的镜像,修改ExecStart
systemctl daemon-reload 
systemctl restart docker
ps -ef | grep docker //查看docker进程

在这里插入图片描述

1. 注册阿里云账号

https://dev.aliyun.com/

2. 进入加速器页面

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

3. 获取专属的加速器地址

如下图所示:点击Docker Hub镜像站点获取专属的加速器地址,将其配置给Docker引擎Docker容器_第4张图片

Docker应用示例

搭建自己的blog系统

docker pull wordpress //拉取wordpress镜像
docker pull mariadb //拉取数据库镜像
docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb //设置数据库
docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress //设置wordpress
docker ps //查看运行的容器
docker images //查看下载的镜像
rpm -qa | grep mariadb //查看数据库版本

在浏览器中输入ip地址和端口号,简单的博客系统搭建成功。
Docker容器_第5张图片
Docker容器_第6张图片

Docker相关命令

容器唯一标识为container id(主键)
Docker容器_第7张图片
Docker容器_第8张图片
Docker容器_第9张图片

Docker容器管理

Docker是“一个容器一个进程”,而当前一个服务普遍需要多个进程来支持,容器直接使用–link选项建立两个容器之间的互联(优先级),前提是建立是mariadb已经开启。
docker-compose则是为了方便启动相互关联的应用,在yaml中设置。
容器编排工具安装

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose
docker-compose --version //测试是否安装成功

控制参数:
Docker容器_第10张图片
Docker-compose.yaml 示例

version: '3'

services:
    db:
      image: mysql:5.7
      restart:  always
      environment:
        MYSQL_ROOT_PASSWORD: somewordpress
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wordpress
        MYSQL_PASSWORD: wordpress
    wordpress:
      depends_on:
        - db
      image: wordpress:latest
      restart: always
      ports:
        - "8000:80"
      environment:
        WORDPRESS_DB_HOST: db:3306
        WORDPRESS_DB_USER: wordpress
        WORDPRESS_DB_PASSWORD: wordpress

你可能感兴趣的:(虚拟化,安装参考,docker)