Docker 是一个开源项目,这个项目旨在通过把应用程序打包为可移植的、自给自足的容器。
Docker类似于一个镜像文件,里面集成了应用运行需要的各种的运行环境,这使得Docker能够快速的部署到任何一个全新的服务器中。

相对于虚拟机:

  1. Docker的启动速度更快;
  2. Docker的资源使用地更好;
  3. Docker应用之间的隔离性没有虚拟机好;

Docker容器的安装

Docker容器主要组成:

  • Client:使用Docker的相关指令与Docker守护进程进行交互,从而进行Docker镜像的创建、拉取和运行等操作;
  • Docker主机:运行Docker守护进程,与客户端、注册中心进行交互,从而管理镜像和容器等;
  • 注册中心:Docker的镜像仓库

Docker容器入门_Docker入门

Docker容器的使用:
在创建一个新的Docker镜像时,使用了配置文件:
*
DockerFile文件:主要的作用在一个基础镜像的基础上安装其他程序来构建新的镜像(这里产生的是镜像)

配置多种环境的Docker(这里以nginx为例)
​​​ https://blog.51cto.com/jacksoner/2322658​

FROM centos:7
MAINTAINER jacker
RUN yum install -y gcc gcc-c++ make \
openssl-devel pcre-devel gd-devel \
iproute net-tools telnet wget curl && \
yum clean all && \
rm -rf /var/cache/yum/*
RUN wget http://nginx.org/download/nginx-1.15.5.tar.gz && \
tar zxf nginx-1.15.5.tar.gz && \
cd nginx-1.15.5 && \
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module && \
make -j 4 && make install && \
rm -rf /usr/local/nginx/html/* && \
echo "ok" >> /usr/local/nginx/html/status.html && \
cd / && rm -rf nginx-1.15.5* && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


ENV PATH $PATH:/usr/local/nginx/sbin
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
WORKDIR /usr/local/nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

根据配置文件生产镜像docker build -t dockernginx .创建并启动容器Docker镜像主要用于创建容器​​docker run -d -p 8999:80 --name dockernginx4 dockernginx​

  • docker run: 创建并启动一个容器
  • -d :表示容器启动时在后台运行
  • -p 8999:80 :表示将容器内80的端口映射到宿主机指定的8999端口
  • –name dockernginx4 :容器的名字
  • dockernginx:选择运行的Docker容器的名字

进入到Docker中的方法
通过 docker ps 获取容器的序列号

1. $ sudo docker ps  
2. $ sudo docker exec -it 5dc6ad937d7f /bin/bash

补充:
安装 rz,lz yum install -y lrzsz

Docker 常见的操作指令

Docker容器入门_docker_02

通过宿主机的IP的地址 ,我们就可以访问到docker容器中的nginx服务器

Docker容器入门_nginx_03

Docker容器入门_nginx_04