Docker的使用

一、仓库

  一、Docker 仓库是用来包含镜像的位置,仓库支持的操做相似git,当用户建立了本身的镜像以后就能够使用 push 命令将它上传到公有或者私有仓库,这样下次在另一台机器上使用这个镜像时候,只须要从仓库上 pull 下来就能够了。mysql

  二、Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每一个仓库又能够包含多个具有不一样tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。linux

    2.一、hub.docker.com(docker本身提供的仓库)git

    2.二、c.163.com(网易提供的仓库)web

二、镜像

  一、Docker的镜像概念相似于虚拟机里的镜像,是一个独立的文件系统,包括运行容器所需的数据,能够用来建立新的容器。例如:一个镜像能够包含一个完整的 linux 操做系统环境,里面仅安装了Mysql或用户须要的其它应用程序。sql

  二、Docker 提供了一个很简单的机制来建立镜像或者更新现有的镜像,用户甚至能够直接从其余人那里下载一个已经作好的镜像来直接使用。docker

三、容器

  一、Docker 利用容器来运行应用。shell

  二、Docker容器是由Docker镜像建立的运行实例。Docker容器相似虚拟机,能够支持的操做包括启动,中止,删除等。每一个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。centos

  三、能够把容器看作是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。tomcat

四、安装(Linux系统)

  一、检查内核版本,返回的值大于3.10便可bash

uname -r

  二、移除旧版本

yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

  三、安装一些工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  四、添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  

  五、安装最新版本

yum install -y docker-ce

  六、或者选择版本安装

#查询版本列表
yum list docker-ce --showduplicates | sort -r #指定版本安装
yum install -y docker-ce-17.09.0.ce

  七、启动docker

systemctl start docker.service

  八、验证是否成功安装

docker version(若是出现Client和Server,则说明安装成功) Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:23:03 2018 OS/Arch: linux/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:25:29 2018 OS/Arch: linux/amd64 Experimental: false

五、基本命令

  一、载入镜像

docker pull 镜像名

  二、查看全部docker镜像

docker images

  三、运行镜像(前台运行,能够使用ctrl+c结束)

docker run 镜像名
#执行过程:
  一、首先将命令发送到本地的Docker Deamon,Docker Deamon会先查找本地的查找镜像,存在就会执行镜像
  二、若是找不到,会去远程仓库下载镜像,下载以后会运行镜像,变成容器
若是报错,能够尝试使用yum update

  四、运行镜像(后台运行)

docker run -d 镜像名

  五、查看当前docker内的运行的镜像

docker ps

  六、进入docker容器中,执行命令,bash(使用shell命令)

docker exec -it 容器名/容器id bash
#进入容器内后,会给你一个模拟linux的交互模式的终端,这时使用ps查看进程,会看到没有该命令,你能够使用下面的指令,在该容器内安装ps
apt-get update && apt-get install procps

  七、中止镜像

docker stop 镜像id

  八、重启镜像

docker restart 镜像id

六、网络类型

  一、host:容器将不会虚拟出本身的网卡,配置本身的IP等,而是使用宿主机的IP和端口。

  二、Container:建立的容器不会建立本身的网卡,配置本身的IP,而是和一个指定的容器共享IP、端口范围。

  三、None:该模式关闭了容器的网络功能。

  四、Bridge:此模式会为每个容器分配、设置IP等,并将容器链接到一个docker0虚拟网桥,经过docker0网桥以及Iptables nat表配置与宿主机通讯。(默认使用的模式)

docker网络图

  五、将宿主机的端口和容器内的端口相关联

#映射主机的端口8080,到容器内的端口80,命令中是小写p
docker run -d -p 8080:80 镜像名 #映射容器内全部端口,到主机的随机端口,命令中的是大写P
docker run -d -P 镜像名

  六、docker run建立Docker容器时,能够用--net选项指定容器的网络模式,Docker有如下4种网络模式:

host模式,使用--net = host指定。 container模式,使用--net = container:NAMEorID指定。 无模式,使用--net =无指定。 bridge模式,使用--net = bridge指定,默认设置。

七、制做本身的镜像

  一、首先准备本身的web项目,而后达成war包

  二、写一个DockerFile

#先下载tomcat的镜像
vi DockerFile #在文件中,写入
from tomcat的镜像名 MAINTAINER youName youEmail COPY 项目war包名 /usr/local/tomcat/webapps

  三、使用docker build编译你的DockerFile,.表示当前目录,将新建的Docker指定一个tag

docker build -t 镜像名:latest .

  四、启动本身制做的镜像

docker run -d -p 8888:8080 镜像名

  五、下载和使用mysql镜像

#先下载好mysql的镜像 #启动
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=order 镜像名
相关文章
相关标签/搜索