docker 入门(1)
1,docker 的安装卸载
https://docs.docker.com/install/linux/docker-ce/ubuntu/
2,docker中的基本概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
1)镜像就相当于安装系统时所需的系统镜像。
2)容器就相当于正在运行中的虚拟机。
3)tar文件类似于VMware中vmdk文件,使用时可以把镜像保存(save指令)为tar文件,移动后可以直接把tar文件加载(load指令)为镜像。
4)dockerfile文件相当于配置文件,内容是镜像的构建步骤等,通过build指令来构建出镜像。
5)仓库中保存了各种镜像(例如MySQL镜像,Tomcat镜像等等),我们可以很方便的下载(pull指令)到本地使用,也可以吧自己的镜像push到仓库。
3,基本的操作命令
从仓库下载所需的镜像
docker pull nginx
相当于docker pull nginx:latest 即从仓库下载最新的nginx
查看本地的镜像
docker images
运行镜像得到容器 docker run -d -p 80:80 nginx -d 后台运行 -p 指定内外的端口映射
--name 指定容器的名字
-v 'pwd':/usr/share/nginx/html 把当前目录映射到容器里的这个目录,这样就可以把一些文件放到容器外,方便修改
这一串字母数字就是容器的ID
查看正在运行的容器有哪些 docker ps
访问192.168.91.138:80,ip是ubuntu的ip
可以再用这个镜像运行一个容器
docker run -d -p 81:80 nginx
进入容器 docker exec -it 容器的ID bash
容器ID可以只写前几个字符,能和其他容器区分即可
从命令行可以看到已经进入了ID为7a开头的这个容器
修改这个nginx容器中的index文件
cd /usr/share/nginx/html/
修改index.html中的内容
退出容器
exit
删除容器 docker rm -f 容器id
容器通过commit命令得到镜像
docker commit 容器id 给镜像取的名字
再通过docker images命令看本地的镜像就会有自己新生成的镜像了
创建Dockerfile文件
vim Dockerfile
例如写入如下内容
FROM nginx (基于nginx镜像)
ADD ./ /usr/share/nginx/html/(把当前目录下的文件拷贝到后面这个文件夹)
docker build -t 给要创建的镜像取的名字 . 最后这个 点(.)是用当前目录下的dockerfile文件构建
运行该镜像
把镜像保存到 .tar文件中 docker save image的名字 > name.tar
把dockerfileimage镜像删除,得先把用他创建的容器删除
利用.tar文件生成镜像 docker load < name.tar
详见B站视频 https://www.bilibili.com/video/av58402749?from=search&seid=713640718069258203