您的位置:首页 > 运维架构 > Docker

docker

2020-04-04 12:07 1256 查看
  1. 概念介绍
    虚拟化:
    沙箱

  2. docker简介
    docker 使用了集装箱思想,由于开发人员的习惯不同,代码的风格不同,有些人喜欢使用linux环境开发,有的人喜欢使用windows,在开发过程中不会出现问题,一旦项目上线时会出现各种兼容性问题,导致项目上线周期比较长,因此我们在开发之初就创建一个统一的开发标准(开发环境),每个人都在在这个环境下开发,项目部署时,直接将整个环境部署到服务器.

  3. docker和vm的区别

    vm------------------------------------------------------------------docker
    server 服务器
    host os 主机操作系统
    Hypervisor 管理程序
    Docker engine docker 引擎
    Gutest os 虚拟机的系统
    BINS/LIBS 系统的组件
    APP 应用

vm 在创建虚拟机的时候会单独创建一个系统的内核
docker 和主机公用一个系统内核 将节省的资源给应用去使用

  1. docker的安装
    centos的yum源中提供了docker的安装程序
    yum install docker

安装完成启动服务:
systemctl start docker
5. docker的基本操作
查看版本 docker --version
6. docker的基本使用
镜像image:一般封装的是docker实例,是一些应用程序,里面是一些文件,这些文件是只读的
容器container: 是用来读取镜像和运行镜像文件, 在镜像的基础之上添加了一个可写层
仓库registry: 用来存储镜像的 公共仓库 私有仓库 光放提供了一个 docker hub
(一)镜像的操作:
查看本地所有的镜像

查找镜像
docker search 镜像名


配置源
docker配置源文件 :/etc/docker/daemon.json
代开配置文件添加
{“registry-mirrors”: [“https://3laho3y3.mirror.aliyuncs.com”]}
保存并推出
重启服务

拉取镜像
docker pull 镜像的名字

修改本地镜像的仓库名
docker tag 仓库名 新名字
docker tag 仓库名:tag 新名字:新标签

删除镜像
docker image rm 镜像id/镜像名/镜像名:tag
docker rmi 镜像id/镜像名/镜像名:tag

镜像操作:
docker images
docker search 名字
docker pull 镜像名
docker tag 镜像id/镜像名/镜像名:tag
docker image rm 镜像id/镜像名/镜像名:tag

(二)容器操作:
第一种:创建容器,不启动容器
docker create -it --name=名字 镜像id /bin/bash
-i 交互模式
-t 创建一个伪终端
–name 容器的名字
/bin/bash 绑定一个shell的环境

启动容器(启动未运行的容器,并进入容器,推出后容器停止运行)
docker start -ai 容器名 # 启动并进入容器
-a 绑定输入输出
退出容器
exit

第二种:创建容器,并启动容器
docker run -dit --name 容器名 镜像id /bin/bash

进入容器(只能进入正在运行的容器,退出容器不会停止容器)
docker exec -it 容器名 /bin/bash

退出容器
exit
查看容器正在运行的容器
docker ps
docker container ls
查看所有的容器
docker ps -a
docker container ls --all

关闭容器
docker container stop 容器id或者容器名字
启动容器
docker container start 容器id或者容器名字

删除容器
docker container rm 容器ID或者容器名字
注意: 只能删除停止状态的容器
杀死容器(类似于stop)
docker container kill 容器ID或者容器名字。

总结:
创建容器
docker create -it --name=’’ 镜像id /bin/bash
docker run -itd --name=’’ 镜像id /bin/bash

启动:
docker container start 容器id/容器名
启动并进入
docker strart -ai 容器id
进入容器:
docker exec -it 容器id/容器名 /bin/bash
停止容器:
docker container stop 容器id/容器名
docker container kill 容器id/容器名

删除:
docker container rm 容器id/容器名
查看:
docker container ls / docker ps
docker container ls --all / docker ps -a
使用mysql镜像
docker run -itd --name mysql01 -e MYSQL_ROOT_PASSWORD=密码 镜像id
-e 设置MySQL管理员密码
docker exec -it mysql01 /bin/bash

端口映射:
服务器 3307端口已经被django使用
docker run -itd --name=’mysql01’ -p 3307:3306 -e MYSQL_ROOT_PASSWORD=’123456’ 镜像id

制作镜像:
1.下载一个纯净版的centos镜像
docker search centos
docker pull name
2.创建容器并运行镜像
docker run -itd --name=’’ 镜像id /bin/bash
3.进入镜像并安装python3
docker exec -it 容器名 /bin/bash
yum install python3 -y
4.制作镜像
退出容器后
Docker commit -m ’描述’ -a ’作者’ 容器名 镜像名:标签名

5.打包镜像,打包成tar包
Docker save -o 压缩后的文件名.Tar 镜像名
6.使用镜像
Docker load < 压缩包路径/ 压缩后的文件名.Tar

仓库 registry
docker 官方提供了一个开源的库
https://hub.docker.com/ 可以注册自己的仓库

在终端输入
docker login
修改镜像名
docker tag 旧名字:tag 用户名/仓库名:tag

上传:
docker push 用户名/仓库名:tag

拓展:私有仓库的使用:
准备工作
两台电脑都要有docker

  1. 创建私有库,要使用registry镜像
    (1) registry 镜像是官方开源的一个 仓库服务镜像
    Docker pull registry

2.准备一台电脑作为仓库服务:
保证服务启动
关闭防火墙
安全模式0

创建虚拟仓库
服务端
1.使用registry镜像 创建一个容器
Docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry
-p 映射端口
-v 映射路径

客户端:
配置文件目录:/etc/sysconfig/docker
在options后添加 --insecure-registry 服务端ip地址:5000
重启docker

上传镜像
修改镜像名
Docker tag 旧名字 ip:5000/name
执行
Docker Push 镜像名

测试拉取
删除原镜像
Pull 10.10.107.84:5000/name

  • 点赞
  • 收藏
  • 分享
  • 文章举报
caiweijiancsdn 发布了48 篇原创文章 · 获赞 0 · 访问量 1028 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: