docker
-
概念介绍
虚拟化:
沙箱 -
docker简介
docker 使用了集装箱思想,由于开发人员的习惯不同,代码的风格不同,有些人喜欢使用linux环境开发,有的人喜欢使用windows,在开发过程中不会出现问题,一旦项目上线时会出现各种兼容性问题,导致项目上线周期比较长,因此我们在开发之初就创建一个统一的开发标准(开发环境),每个人都在在这个环境下开发,项目部署时,直接将整个环境部署到服务器. -
docker和vm的区别
vm------------------------------------------------------------------docker
server 服务器
host os 主机操作系统
Hypervisor 管理程序
Docker engine docker 引擎
Gutest os 虚拟机的系统
BINS/LIBS 系统的组件
APP 应用
vm 在创建虚拟机的时候会单独创建一个系统的内核
docker 和主机公用一个系统内核 将节省的资源给应用去使用
- 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
- 创建私有库,要使用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
- 点赞
- 收藏
- 分享
- 文章举报
- Docker 高可用集群
- 携程Apollo配置中心升级并打包Docker镜像记录
- docker介绍安装及详细使用
- docker 报错:x509: certificate has expired or is not yet valid
- 修改docker镜像,容器存放位置。
- docker java web应用
- docker挂载本地目录和数据卷容器
- Docker数据管理
- 使用Docker部署MySQL 5.7&8.0主从集群的方法步骤
- Go游戏服务器开发的一些思考(十八):Docker内网环境搭建(备忘)
- Docker集群管理工具-Swarm部署记录
- 在阿里云主机的Debian操作系统上安装Docker
- Docker实战(三):Docker安装ssh,supervisor等基础工具
- docker改变镜像源
- 【Docker安装】- 卸掉docker参考
- docker的常用命令汇总
- linux下的docker入门笔记一
- centos7下安装docker(12.1bridge网络)
- Docker实战(二)
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务