DOCKER安装与基本命令

一、DOCKER基本知识介绍

1.docker是什么?

Docker 是 采用Linux Container技术的高级容器引擎,它能够提供轻量级的虚拟化,它的源代码托管在 Github 上,它是 基于go语言开发并遵从Apache2.0协议开源的一种软件。

2.docker三大金刚

镜像:(image) 运行环境的集合,镜像运行为容器
      启动镜像后会增加一个空白层,所有操作都会写入到空白层上,空白层会覆盖下方的配置和操作。只能读取不能写入
仓库:(repository) 存放镜像
容器:(container) 已运行的环境
      不同的容器工作在相对独立的空间,由namespace隔离,一个镜像可以启动多个容器
      如果一个容器可以稳定工作,它在前端需要 有一个守护进程

3.docker网络管理

docker一开启会自动创建一个叫做docker0的网桥,可以使各个容器之间可以相互通信,容器没有自己的内核容器与容器之间采用network-namespace进行网络隔离:vethX
每一个容器会连接到自己的namespace-- vethX上,vehtX是通过网桥设备创建的,彼此之间可以相互通信,因此容器之间也是可以相互通信。
网桥设备与真实网卡之间通过NAT实现通信

4.Docker的4种网络模式

  • host模式,使用--net=host指定。
  • container模式,使用--net=container:NAME_or_ID指定。
  • none模式,使用--net=none指定。
  • bridge模式,使用--net=bridge指定,默认设置。

4.1 host模式

如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

4.2 container模式

container模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

4.3 none模式

这个模式和前两个不同。在这种模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

4.4 bridge模式

bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。下面着重介绍一下此模式。

二、docker安装

1.安装前准备工作:

centos7.0以上内核版本

关闭selinux与iptables,配置yum源,可以连外网:ping www.baidu.com

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld.service
systemctl stop firewalld.service

重启   reboot

2.docker安装

2.1脚本直接安装最新版本docker

yum clean all
yum makecache
yum -y upgrade

#升级后内核版本为7.4-1708  或  7.5-1804
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
docker run hello-world
docker version  #必须有client端与server端!!

2.2 yum安装

2.2.1、更新yum源

yum clean all
yum makecache
yum -y update

2.2.2、卸载旧版本(如果安装过旧版本的话)
yum remove docker  docker-common docker-selinux docker-engine

2.2.3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

2.2.4、设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.2.5、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r

2.2.6、安装docker
安装最新版本的docker:    yum -y install docker-ce 

安装指定版本的docker:如------->   yum -y install docker-ce-17.12.0.ce

2.2.7、启动并加入开机启动

systemctl start docker
systemctl enable docker

2.2.8、验证安装是否成功
docker version

##有client和service两部分表示docker安装启动都成功了

2.2.9 别名设置 根据个人情况而定

vim /root/.bashrc
alias vi='vim'
alias dp='docker ps -a '
alias di='docker images'
alias dr='docker rm -f $(docker ps -a -q)'

.  /root/.bashrc

三、docker基本命令

docker images #查看镜像
docker ps #查看当前已经运行的容器
docker ps -a #查看当前所有的容器
docker ps -a -q #只显示当前运行的容器的ID号
docker rm -f +前4位容器ID号
docker rm -f $(docker ps -a -q) #删除当前运行的所有容器


docker pull #下载镜像  docker pull hub.c.163.com/public/centos:6.7-tools
docker run #从镜像运行为容器
docker start/stop	容器启动停止
docker rmi +别名或ID号	Docker	镜像的删除
dockers images -a -q    #显示镜像所有的ID号
docker rmi -f $(docker images -a -q) #强制删除所有镜像

  单一容器管理命令 :

docker ps --no-trunc	         #查看容器详细信息
docker stop/start CONTAINERID    #通过容器id启动/停止
docker run --restart=always      #容器的自动启动
docker start/stop MywordPress    #通过容器别名启动/停止
docker inspect MywordPress       #查看容器所有基本信息	
docker logs MywordPress          #查看容器日志
docker stats MywordPress         #查看容器所占用的系统资源
docker exec 容器名 容器内执行的命令 # 容器执行命令
docker exec -it 容器名 /bin/bash  #登陆容器的bash

 其他命令 :

1.docker info		守护进程的系统资源设置
  docker history 镜像名	查询镜像的分层
			--no-trunc 	显示完整的历史命令

2.容器打包成镜像
docker commit   93f2e50a3439/centos6    pqj/jingxiang:v1.0
      打包命令    容器ID/容器名         谁的/镜像名字:版本号

3.docker-compose 多容器编排工具
docker-compose up  -d	创建启动项目
docker-compose start	启动项目
docker-compose stop	关闭项目

4.镜像改标签
docker tag 镜像ID  pqj/test:1.0(xx/xx/xx:xx)  #一般情况下要上传镜像的时候才需要改标签!
docker tag peng/tomcat:v1.0  docker.pqj.com/library/tomcat:v1.0

5.镜像导出入导入
docker save -o /root/pqj.tar pqj/jingxiang:v1.0 #镜像导出
docker load -i test.tar  #镜像导入

6.Docker程序将读取Dockerfile,根据指令生成定制的image。
docker    build    -t    wangyang/jdk-tomcat   . 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值