一、Docker
当开发把代码写好在自己本地能跑的时候,交给运维之后,运维就要重新配置环境,不仅费时费力,可能还会出现问题。Docker可以解决在安装的时候把原始环境一模一样地复制过来,消除协作编码时“在我的机器上可以跑,在你的机器上不能跑的问题”

基于Go语言实现的,Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,做到“一次封装,到处运行”
Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作

由于之前的虚拟机资源占用多,启动慢,linux发展了linux容器。它不用运行一个完整的操作系统,它直接运行于宿主的内核,容器内没有自己的内核

二、docker三要素:
1.镜像:用来创建容器(镜像相当于类,容器相当于实例对象)
2.容器(集装箱):用来独立运行一个或一组应用,每个容器之间都是互相隔离的
3.仓库:集中存放镜像文件的场所
每个镜像文件有不同的标签(tag)(类似于版本号)

三、Docker安装
参考:https://blog.csdn.net/weixin_44988663/article/details/106078615

四、Docker如何工作的
Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器

五、常用命令

docker --version   查看docker版本
docker info   查看docker详细信息
docker --help  查看docker命令
docker images  列出本地主机上的镜像
docker search 某镜像名字   会在hub.docker.com仓库里查询镜像
docker pull 某镜像名字     下载镜像
docker rmi 某镜像名字ID    删除镜像
docker rmi -f 镜像ID      删除单个镜像
docker ps -a   显示所有容器,包括未运行的
docker start [容器id/容器名] 启动容器
docker restart [容器id/容器名] 重启容器
docker stop [容器id/容器名] 停止容器
docker run -d [容器名] 启动守护式容器
docker logs -f -t --tail [容器ID] 查看容器日志
docker top [容器ID] 查看容器内运行的进程
docker inspect [容器ID]  查看容器内部细节
docker cp [容器ID:容器内路径 目的主机路径]  从容器内拷贝文件到主机上 
docker attach [容器id]/容器别名      在创建一个守护态的Docker容器,然后使用docker attach命令进入该容器
docker exec [容器ID]  这个命令可以在容器运行别的服务时连接上该容器
docker rm [容器id]    删除容器
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐