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 : 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 : 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
docker 入门(1)的更多相关文章
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker入门教程(四)Docker Registry
Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...
- Docker入门教程(三)Dockerfile
Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...
- Docker入门教程(二)命令
Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...
- Docker入门教程(一)介绍
http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了 ...
随机推荐
- CoordinatorLayout使用全解析
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012124438/article/details/56701641 CoordinatorLayo ...
- Android studio 项目支持JNI方法
步骤: 1. build.gradle 配置如下,主要两项 ndk 和 sourceSets apply plugin: 'com.android.application' android { com ...
- flutter json转字符串 字符串转json
一段json字符串 var jsonStr = '{\"errorCode\": \"0\", \"message\": \"成功 ...
- CISCN2018 Writeup
The Lounge战队 CISCN2018 Writeup Pwn-Supermarket from pwn import * def add(name,price,size,des): p.sen ...
- 阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
创建数据库ssm并创建表account create database ssm; use ssm; create table account( id int primary key auto_incr ...
- iOS使用UIBezierPath实现ProgressView
实现效果如下: 界面采用UITableView和TabelViewCell的实现,红色的视图采用UIBezierPath绘制.注意红色的部分左上角,左下角是直角哟!!!!不多说<这里才是用UIB ...
- django中使用mysql数据库
django连接mysql 安装MySQL 1 linux: apt install mysql-server apt install mysql-client mysql_secure_instal ...
- Mac下的Pycharm教程
除非你是用记事本写代码,或者用vim写代码的大牛,那么推荐使用PyCharm编写Python代码. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效 ...
- 461. 汉明距离(Hamming Distance)leetcode
首先附上题目链接: https://leetcode-cn.com/problems/hamming-distance/ 一:题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. ...
- PJzhang:国外主流站点钓鱼网站示例工具shellphish
猫宁!!! 参考链接:https://www.uedbox.com/post/58583/ 这个是这个项目的github地址 https://github.com/thelinuxchoice/she ...