Open webplus opened 4 years ago
先梳理下前端的几个应用场景
1、为团队制定统一开发环境,新人入职或系统重装后能快速搭建起开发环境。
比如前端开发通常要安装pythone、nodejs以及node-sass、webpack等,能通过Dockerfile维护管理镜像给到团队成员使用。
研究深度学习领域的同学比较清楚,搭建环境需要安装配置各类工具,如Tensorflow、Keras、Anaconda、PyTorch、Flask、Jupyter,可以利用Docker快速搭建、管理和部署。
2、实验性项目或者技术研究时需要安装各种依赖和工具,公司内部电脑标装后权限较低无法安装和下载。
3、前后端项目大复杂时,项目依赖nodejs模块较多且对平台依赖较强时,比如sharp.js、node-sass等需要编译安装,同时还需要使用mysql、redis等在开发部署时都较麻烦。
在开发时要启动多个服务及端口,可使用docker-compose编排好服务就能一键启动。如有新人加入直接使用相应的镜像就能快速进行开发,使用Docker将非常方便。
1、使用 Homebrew 来安装 Docker
$ brew cask install docker
2、手动下载 Docker for Mac.dmg安装
如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。
下载地址: https://download.docker.com/mac/stable/Docker.dmg
二进制包
https://mirrors.aliyun.com/docker-ce/mac/static/stable/x86_64/
https://download.docker.com/mac/static/stable/x86_64/
解压后
ln -s /otp/docker19.0/docker /usr/local/bin/docker # 全局运行docker
$ sudo docker -d & # 启动docker
$ killall docker # 关闭docker
3、安装完成后,运行下面的命令,验证是否安装成功
$ docker version 或者 $ docker info
Mac命令行启动docker服务 launchctl 查看 docker server launchctl list | grep docker 关闭和启动它 launchctl stop com.docker.docker.15648 && launchctl start com.docker.docker.15648
vi ~/.docker/daemon.json {
"debug": true, "experimental": true, "registry-mirrors": ["https://u6krpdpq.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com"], "insecure-registries": ["192.168.1.2:5000"] }
1、查询本地容器和镜像
docker ps -a # 显示所有的容器 docker image ls # 列出本地镜像
docker search alplin # 搜索alplin相关镜像
2、获取镜像
docker pull [imagename]:[tag] # 拉取镜像
docker pull alpine:latest
docker pull centos:centos7.7.1908
docker pull hub.c.163.com/library/alpine:latest # 从国内163源站拉取镜像
3、创建容器
docker create --name alpine:latest
docker run --name centos7 -itd centos:centos7.7.1908 /bin/bash # 创建并运行容器
docker run --name myalpine -itd alpine:latest /bin/sh
docker run --name centos72 -itd -v pwd:/bankapp/app -w /bankapp/app -p 8000:8000 --privileged=true centos7:nodejs10 /bin/bash
pwd
4、创建容器 docker create --name alpine:latest
5、删除容器 docker rm containerID
docker image rm IMAGEID # 删除本地镜像
6、启动容器 docker start containerID
7、进入容器 docker attach containerID
8、停止容器运行 docker stop containerID
9、从现有容器导出导入新的镜像 docker commit -a "webplus" -m "centos7 nodejs_10.18.0 " containerID centos:centos7_node10 # 提交容器的修改 docker export -o centos7node10date +%Y%m%d.tar containerID # 导出新的镜像.tar docker import ./centos_nodejs-20200402.tar centos:centos7_nodejs # 导入存档镜像
date +%Y%m%d
10、从现在镜像保存和导入镜像
docker save -o my_ubuntu_v3.tar centos:centos7_nodejs # 将指定镜像保存成 tar 归档文件可进行分发.
docker load -ip my_ubuntu_v3.tar # 导入使用 docker save 命令导出的镜像
1、拉取registry镜像
docker pull registry
2.创建宿主机储存目录【/opt/data/registry】:
mkdir -p /opt/data/registry
docker create -d -p 5000:5000 -v /opt/data/registry:/tmp/registry --privileged=true --restart=always --name registry
3、也可直接拉取镜像并新建容器, -p端口映射,-v本地库目录映射 docker run -d -p 5000:5000 -v /Users/apple/aaa/docker:/tmp/registry registry docker run -d -p 5000:5000 -v /Users/apple/aaa/docker/registry:/tmp/registry --privileged=true --restart=always --name hub.c.163.com/library/registry:latest registry:latest
4、配置https权限支持,修改完需要重启,有时候可能重启失败,可能是因docker检查192.168.1.128:5000是否能访问:
Mac vi ~/.docker/daemon.json
{
"insecure-registries":["192.168.1.128:5000"]
}
5、push到私有仓库
docker tag centos:centos7_nodejs 192.168.1.128:5000/centos7_nodejs:v1 # 修改镜像的tag
docker push 192.168.1.128:5000/nodejs10:1.0.0 # 推送镜像到本地仓库
参考文档:
阮一峰Docker 入门教程
Docker 中文指南
先梳理下前端的几个应用场景
1、为团队制定统一开发环境,新人入职或系统重装后能快速搭建起开发环境。
比如前端开发通常要安装pythone、nodejs以及node-sass、webpack等,能通过Dockerfile维护管理镜像给到团队成员使用。
研究深度学习领域的同学比较清楚,搭建环境需要安装配置各类工具,如Tensorflow、Keras、Anaconda、PyTorch、Flask、Jupyter,可以利用Docker快速搭建、管理和部署。
2、实验性项目或者技术研究时需要安装各种依赖和工具,公司内部电脑标装后权限较低无法安装和下载。
3、前后端项目大复杂时,项目依赖nodejs模块较多且对平台依赖较强时,比如sharp.js、node-sass等需要编译安装,同时还需要使用mysql、redis等在开发部署时都较麻烦。
在开发时要启动多个服务及端口,可使用docker-compose编排好服务就能一键启动。如有新人加入直接使用相应的镜像就能快速进行开发,使用Docker将非常方便。
一、MacOS Docker 安装
1、使用 Homebrew 来安装 Docker
$ brew cask install docker
2、手动下载 Docker for Mac.dmg安装
如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。
下载地址: https://download.docker.com/mac/stable/Docker.dmg
二进制包
https://mirrors.aliyun.com/docker-ce/mac/static/stable/x86_64/
https://download.docker.com/mac/static/stable/x86_64/
解压后
ln -s /otp/docker19.0/docker /usr/local/bin/docker # 全局运行docker
$ sudo docker -d & # 启动docker
$ killall docker # 关闭docker
3、安装完成后,运行下面的命令,验证是否安装成功
$ docker version 或者 $ docker info
Mac命令行启动docker服务 launchctl 查看 docker server launchctl list | grep docker 关闭和启动它 launchctl stop com.docker.docker.15648 && launchctl start com.docker.docker.15648
二、Mac下的配置修改
vi ~/.docker/daemon.json {
"debug": true, "experimental": true, "registry-mirrors": ["https://u6krpdpq.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com"], "insecure-registries": ["192.168.1.2:5000"] }
三、常用命令
1、查询本地容器和镜像
docker ps -a # 显示所有的容器 docker image ls # 列出本地镜像
docker search alplin # 搜索alplin相关镜像
2、获取镜像
docker pull [imagename]:[tag] # 拉取镜像
docker pull alpine:latest
docker pull centos:centos7.7.1908
docker pull hub.c.163.com/library/alpine:latest # 从国内163源站拉取镜像
3、创建容器
docker create --name alpine:latest
docker run --name centos7 -itd centos:centos7.7.1908 /bin/bash # 创建并运行容器
docker run --name myalpine -itd alpine:latest /bin/sh
docker run --name centos72 -itd -v
pwd
:/bankapp/app -w /bankapp/app -p 8000:8000 --privileged=true centos7:nodejs10 /bin/bash4、创建容器 docker create --name alpine:latest
5、删除容器 docker rm containerID
docker image rm IMAGEID # 删除本地镜像
6、启动容器 docker start containerID
7、进入容器 docker attach containerID
8、停止容器运行 docker stop containerID
9、从现有容器导出导入新的镜像 docker commit -a "webplus" -m "centos7 nodejs_10.18.0 " containerID centos:centos7_node10 # 提交容器的修改 docker export -o centos7node10
date +%Y%m%d
.tar containerID # 导出新的镜像.tar docker import ./centos_nodejs-20200402.tar centos:centos7_nodejs # 导入存档镜像10、从现在镜像保存和导入镜像
docker save -o my_ubuntu_v3.tar centos:centos7_nodejs # 将指定镜像保存成 tar 归档文件可进行分发.
docker load -ip my_ubuntu_v3.tar # 导入使用 docker save 命令导出的镜像
四、本地搭建私库
1、拉取registry镜像
docker pull registry
2.创建宿主机储存目录【/opt/data/registry】:
mkdir -p /opt/data/registry
docker create -d -p 5000:5000 -v /opt/data/registry:/tmp/registry --privileged=true --restart=always --name registry
3、也可直接拉取镜像并新建容器, -p端口映射,-v本地库目录映射 docker run -d -p 5000:5000 -v /Users/apple/aaa/docker:/tmp/registry registry docker run -d -p 5000:5000 -v /Users/apple/aaa/docker/registry:/tmp/registry --privileged=true --restart=always --name hub.c.163.com/library/registry:latest registry:latest
4、配置https权限支持,修改完需要重启,有时候可能重启失败,可能是因docker检查192.168.1.128:5000是否能访问:
Mac vi ~/.docker/daemon.json
{
"insecure-registries":["192.168.1.128:5000"]
}
5、push到私有仓库
docker tag centos:centos7_nodejs 192.168.1.128:5000/centos7_nodejs:v1 # 修改镜像的tag
docker push 192.168.1.128:5000/nodejs10:1.0.0 # 推送镜像到本地仓库
参考文档:
阮一峰Docker 入门教程
Docker 中文指南