docker
一、网址参考
1. Docker入门
1.2 Docker 有什么优势?
2. Docker安装
2.1 【Docker系列】_安装Docker(基于win10家庭版)
2.2 win10家庭版安装Docker
2.3 docker入门第二节:Ubuntu18.04安装Docker
3. Docker镜像源:
3.1 . Windows Docker 配置镜像源的两种方法
3.2 . Docker Hub 镜像加速器
4. Docker教程
4.1 Docker 入门教程(阮一峰)
4.2 Docker 教程(菜鸟)
5. Docker操作
5.1 Docker删除容器与镜像
5.3 docker入门--服务自启动设置(docker服务自动启动,docker容器自动启动,docker容器内的服务自动启动)
6. Docker应用
6.2 docker hub的FreeSWITCH Dockerfile
7. 出错处理
7.1 Docker 报错 :no matching manifest for windows/amd64 10.0.18362 in the manifest list entries
7.2 解决Ubuntu18.04启动Docker“Got permission denied while trying to connect to the Docker daemon socket“问题
8. 中级篇
二、书籍参考
1、《Docker技术入门与实战》
二、理解
关键字:
1、 Docker镜像
1)Docker镜像(Image)类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统
2)Docker镜像是创建Docker容器的基础
2、Docker容器
1)Docker容器(Container)类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用
2)容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的
3)读者可以把容器看做一个简易版的Linux系统环境
4)镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变
3、Docker仓库
1)Docker仓库(Reponsitory)类似于代码仓库,是Docker集中存放镜像文件的场所
2)有时候会看到资料将Docker仓库和注册服务器(Registry)混为一谈,并不严格区分。实际上,注册服务器是存放 仓库的地方,其上往往存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签 (tag)来进行区分
4. Dockerfile 和 docker build命令
5. docker-compose.yml 和 docker-compose up/down命令
三、实际操作
1、在ubuntu上安装Docker
参考网址:
1)Ubuntu 安装Docker(掘金)
2)Ubuntu Docker 安装(菜鸟教程)
2、镜像操作
1)获取镜像,如:
sudo docket pull ubuntu
2)查看镜像信息
3)搜寻镜像
4)删除镜像
sudo docker rmi 5b5944214a16
5) 存出镜像
即把镜像保存到本地文件
sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
6)载入镜像
可以使用docker load从存出的本地文件中再导入到本地镜像库
sudo docker load --input ubuntu_14.04.tar
7)上传镜像
sudo docker push user/test:latest
3、容器操作
1)新建容器
可以使用docker create命令创建一个容器,但会处于停止状态,可以使用docer start命令来启动它
sudo docker create -it ubuntu:latest
2)新建并启动容器
sudo docker run -it ubuntu:14.04 /bin/bash
-d参数,表示以守护态(Daemonized)形式运行
如: sudo docker run -it -p 5000:5000 gitlab/gitlab-ce:11.3.6-ce.0 /bin/bash
3) 终止容器
sudo docker stop b9fdf43195c3
4)进入容器
在使用-d参数时,容器启动后会进入后台,用户无法看到容器的信息。某些时候如果需要进入容器进行操作,有多种方 法,如docker exec
sudo docker exec -ti b9fdf43195c3 /bin/bash
5)删除容器
可以使用docker rm 命令删除处于终止状态的容器,使用-f选项可以强行终止并删除一个运行中的容器
sudo docker rm b9fdf43195c3
6)导出容器
导出容器是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker export命令。
sudo docker export bb5ee69b3d10 > i386-ubuntu.tar
7)导入容器
导出的文件又可以使用docker import命令导入,成为镜像,如:
cat i386-ubuntu.tar | sudo docker import - i386/ubuntu:v1.0
注意:
实际上,既可以使用docker load命令来导入镜像存储文件到本地镜像库,又可以使用docker import命令来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元素数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。
4、安装遇到的问题
1)win10安装完docker之后,运行docker ps命令出现的错误提示:
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.35/info: open //./pipe/docker_engine:
解决办法:参考网址
cd "C:\Program Files\Docker\Docker" ./DockerCli.exe -SwitchDaemon
5、创建镜像
1)基于已有镜像的容器创建
该方法主要使用docker commit命令
commit之后,会新建一个镜像,如下截图:
6. win10通过Dockerfile下载docker镜像
6.1 前提:
1)需提前安装好docker 和 git
6.2 步骤
1)下载Dockerfile
git clone https://192.168.22.91:5000/fonda-app/docker-ubuntu-server.git
2) 创建镜像
docker build -t ubuntu:18.04-build .
6.3 问题
创建镜像(docker build)时报错: no matching manifest for windows/amd64 10.0.18362 in the manifest list entries
解决:设置daemon.json的experimental:true
7. 查看docker服务是否启动
1)查看docker是否运行
ps -aux | grep docker
截图如下:
.
2)查看是否有相应的docker 镜像
dock images
截图如下:
3)查看相应的docker容器是否启动:
docker ps 或 docker ps -a
截图如下: