-
docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
-
安装部署docker
docker分为两个版本:
docker-ce : 社区版
docker-ee :企业版
docker分为两个版本:
docker-ce : 社区版
docker-ee :企业版
linux 3.10的内核 有BUG 所以要升级一下系统
1、升级系统内核
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
2、安装依赖包
[root@localhost ~]
3、添加软件源信息
[root@localhost ~]
4、更新并安装Docker-CE
[root@localhost ~]
[root@localhost ~]
k8s支持的最新的版本,也是最稳定的版本是19
5、启动Docker
[root@localhost ~]
6、检测docker
[root@localhost ~]
7、加速docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uksar295.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-
docker核心三大概念
1、镜像 :
2、容器 :
3、仓库(Harbor) :
-
docker和虚拟机之间的区别
VM(VMware)在宿主机器、宿主机器操作系统的基础上创建虚拟层、虚拟化的操作系统、虚拟化的仓库,然后再安装应用;
Container(Docker容器),在宿主机器、宿主机器操作系统上创建Docker引擎,在引擎的基础上再安装应用。
-
docker的基础使用——镜像
1、下载镜像
docker pull [仓库的URL]/[命名空间]/[镜像名称]:[版本号]
默认的仓库URL: https://index.docker.io/v1/
默认的命名空间:library
默认的版本号:latest
index.docker.io/library/nginx:latest
2、查看本机镜像列表
[root@localhost ~]
[root@localhost ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f6987c8d6ed5 6 days ago 141MB
仓库名 版本 镜像ID 创建距离现在的时间 大小
3、查看镜像的详情
docker inspect [镜像名称|ID]
4、镜像tag 给镜像打标签
docker tag [镜像ID] [新的仓库名称]
5、登录仓库
docker login [仓库的URL地址]
默认的仓库地址:hub.docker.com
登录之后会在vim /root/.docker/config.json 这个文件里自动创建一个对应账号的加密密码
6、上传镜像
第一步:打tag
[root@localhost ~]
第二步:上传
[root@localhost ~]
7、删除镜像
docker rmi [镜像的名称|ID]
[root@localhost ~]
-
docker的基础使用——容器
对外提供服务的实例。
1、容器生命周期
容器内的进程至少有一个进程运行在前台。
2、启动一个容器
docker run [参数] [镜像名称|ID] [启动命令]
参数:
-d : 以守护进程方式运行
--rm : 当容器生命周期结束时,立即删除该镜像
--name : 指定容器名称
-e : 指定容器内部的环境变量(可以通过exec进入该容器 printenv查看)
-h : 指定容器的主机名(可以通过exec进入该容器 printenv查看)
-p : 端口映射(固定)小写p
-P : 端口映射(随机)大写
-i : 打开标准输出(将容器内部的标准输出接入到命令行中)
-t : 创建一个命令行(伪终端)
-v : 添加一个目录映射
--link
--network
3、查看本机运行的容器列表
docker ps
-a : 显示本机上的所有的容器
-q : 只显示ID
4、在容器内部执行命令
docker exec [容器名称] [命令]
[root@localhost ~]
进入容器:
docker exec -it [容器名称] bash
[root@localhost ~]
5、删除容器
docker rm [容器ID或名称]
-f : 强制删除
[root@localhost ~]
-
保存容器和镜像
1、直接将容器保存成本地镜像
docker commit
参数:
-a : 作者
-m : 提交时解释信息
-p : 保存容器时,是否暂停运行容器
[root@localhost ~]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ee2 nginx "/dxx" 11 minutes ago Up 11 minutes 80/tcp nginxv1
[root@localhost ~]
2、将本地的容器保存成镜像压缩包
1、保存容器为镜像压缩包
docker export
[root@localhost ~]
2、解压容器压缩包成镜像
docker import
[root@localhost ~]
3、将本地的镜像保存成镜像压缩包(可以同时保存多个镜像)
docker save
[root@localhost ~]
docker load
[root@localhost ~]
4、save 和 export之间的区别
1、针对的对象不一样
2、save保存的镜像更加完善