每次换电脑安装各种开发包,electron打包,网络原因各种下载不到依赖,应用部署困难?那就看看这篇攻略,打造一劳永逸的随身开发环境吧
docekr pull [images] #拉取镜像
docekr imgaes #查看所有镜像
docker rmi [imageID] #删除指定镜像
docker rmi -f \$(docker images -aq) #!小技巧删除所有镜像
docekr ps #查看运行容器
-a 列出历史
-n 列出最近
-q 只显示编号
docker rm [containerID] #删除指定容器
docker rmi -f \$(docker ps -aq) #!小技巧删除所有容器
docker start id #启动容器
docker restart id #重启容器
docker stop id #停止当前运行的容器
docker kill id #强制停止当前运行容器
docker network create --driver bridge --subnet 192.168.3.0/16 --gateway 192.168.3.1 mynet
docker network ls
docker network rm ID
docekr run [参数] imagesID #创建一个容器并启动
-it 使用交互方式运行没进入容器查看内容
-d 后台运行
--name="Name" 容器名称 区分容器
端口映射:将容器服务端口映射到主机端口
-p [主机端口]:[容器端口]
-P 随机端口
数据卷:主机与容器数据共享
-v [容器路径] 匿名挂载
-v [主机路径]:[容器路径] 具名挂载
网络:选择网络模式
-net [name]
实例:docker run -itd -p 9000:9000 --name demo -v /var/run/docker.sock:/var/run/docker.sock -v /Users/luofei/learn/docker_file/portainer/data:/data docker.io/portainer/portainer /bin/bash
docker inspect 容器id
docker logs 容器id
docker exec -it [container] /bin/bash
在已运行的容器中执行命令,不创建和启动新的容器,退出shell不会导致容器停止运行docker attach [container]
本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上,如果退出容器的shell,容器会停止运行docker commit -m="提交的描述信息" -a="作者" 容器 id 目标镜像名:[TAG]
docker login
登录docker tag [imageID] [message]
镜像标签docker push [image]
上传镜像登录阿里云
进入容器镜像服务
创建命名空间
创建镜像仓库
$ sudo docker login --username=username registry.cn-hangzhou.aliyuncs.com $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/jackfly/jackfly:[镜像版本号] $ sudo docker push registry.cn-hangzhou.aliyuncs.com/jackfly/jackfly:[镜像版本号] 复制代码
缺什么补什么,作为前端下面这些已经够用了。
dockerfile 实例
dockerfile 在github上需要的自己拿呀:github.com/JackFlyL/do…
docker build -f dockerfile -t [imageName] . 复制代码
注意!!!后面那个 "." 了没有一定要加上!
docker run -itd --name mywork -v /Users/jackfly/docker:/home/work -p 6555:22 -p 8080:80 mywork 复制代码
docker exec -it mywork /bin/zsh 复制代码
连接成功!这就是你的专属服务器,想怎么造怎么造,比docker数据卷共享更自由。
打包生成APP 通过数据连通 共享数据到主机 直接使用
docker run -itd -v /home/data:/home/AlectronApps mywork 复制代码
至此一个随身的开发环境就搞定了,即使你到任何系统任何电脑 只要支持docker 就可以拉取镜像还原自己的工作状态,而且容错率高,重装系统只需要重新run一下。你可以把自己的项目放入镜像中,不断完善不断的commit 更新镜像。 基础镜像的dockerfile放到了github,需要的同学自己取。镜像我也上传到了阿里云,不想折腾的懒人们也直接用哈!