一、DOCKER基本知识介绍

1.docker是什么?

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

2.docker三大金刚

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

3.docker网络管理

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

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

重启   reboot

2.docker安装

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

  1. yum clean all
  2. yum makecache
  3. yum -y upgrade
  4. #升级后内核版本为7.4-1708 或 7.5-1804
  1. curl -sSL https://get.docker.com/ | sh
  2. systemctl start docker
  3. systemctl enable docker
  4. docker run hello-world
  5. docker version #必须有client端与server端!!

2.2 yum安装

2.2.1、更新yum源

  1. yum clean all
  2. yum makecache
  3. 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

docker version #必须有client端与server端!!?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzMwMzQ4Nw==,size_16,color_FFFFFF,t_70" width="919">

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

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

2.2.7、加入开机启动

  1. systemctl enable docker.service

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

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

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

  1. vim /root/.bashrc
  2. alias vi='vim'
  3. alias dp='docker ps -a '
  4. alias di='docker images'
  5. alias dr='docker rm -f $(docker ps -a -q)'
  6. . /root/.bashrc

三、docker基本命令

  1. docker images #查看镜像
  2. docker ps #查看当前已经运行的容器
  3. docker ps -a #查看当前所有的容器
  4. docker ps -a -q #只显示当前运行的容器的ID号
  5. docker rm -f +前4位容器ID号
  6. docker rm -f $(docker ps -a -q) #删除当前运行的所有容器
  7. docker pull #下载镜像 docker pull hub.c.163.com/public/centos:6.7-tools
  8. docker run #从镜像运行为容器
  9. docker start/stop 容器启动停止
  10. docker rmi +别名或ID号 Docker 镜像的删除
  11. dockers images -a -q #显示镜像所有的ID号
  12. docker rmi -f $(docker images -a -q) #强制删除所有镜像

  单一容器管理命令 :

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

 其他命令 :

  1. 1.docker info 守护进程的系统资源设置
  2. docker history 镜像名 查询镜像的分层
  3. --no-trunc 显示完整的历史命令
  4. 2.容器打包成镜像
  5. docker commit 93f2e50a3439/centos6 pqj/jingxiang:v1.0
  6. 打包命令 容器ID/容器名 谁的/镜像名字:版本号
  7. 3.docker-compose 多容器编排工具
  8. docker-compose up -d 创建启动项目
  9. docker-compose start 启动项目
  10. docker-compose stop 关闭项目
  11. 4.镜像改标签
  12. docker tag 镜像ID pqj/test:1.0(xx/xx/xx:xx) #一般情况下要上传镜像的时候才需要改标签!
  13. docker tag peng/tomcat:v1.0 docker.pqj.com/library/tomcat:v1.0
  14. 5.镜像导出入导入
  15. docker save -o /root/pqj.tar pqj/jingxiang:v1.0 #镜像导出
  16. docker load -i test.tar #镜像导入
  17. 6.Docker程序将读取Dockerfile,根据指令生成定制的image。
  18. docker build -t wangyang/jdk-tomcat .

转自:https://blog.csdn.net/weixin_43303487/article/details/83996293

标签: none

相关文章推荐

添加新评论,含*的栏目为必填