这篇主要讲现在主流的容器技术Docker,觉得不学习下都跟不上节奏了哈。 这里简单介绍docker的安装以及使用,有问题欢迎指出哈。
这里主要讲以下几点:
- Docker 创建仓库
- Docker 安装
- Docker 镜像创建
- Docker 制作镜像
- Docker 上传镜像
- Dockerfile
Docker 创建仓库
1.注册dockerhub账号,并新建仓库,地址:https://hub.docker.com/。
Docker 安装
1.这里以ubuntu环境为例子 方式1:
wget -qO- https://get.docker.com/ | sh
方式2:
apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update //安装最新版本的docker apt-get install -y docker-ce
2.查看版本
docker version
Docker 拉取镜像
1.首先我们下载一个ubuntu镜像
docker pull ubuntu:16.04
- 运行镜像
docker run -t -i -p 3000:3000 ubuntu:16.04 /bin/bash
-i 显示info级别log信息
-t 显示控制台
-p 3000:3000 把容器的3000端口映射到本机3000端口
3 .查看容器
//查看运行容器 docker ps //查看所有容器 docker ps -a
其中,正常exit会关闭容器退出,可以按Ctrl+P+Q暂时退出容器,但是不关闭容器。 也可以使用 docker exec -ti <container_id> 启动一个伪终端以交互式的方式进入某个容器 (使用exit退出后容器不停止运行)
4.启动容器
docker start <container_id>
5.进入容器
docker attach <container_id>
6,.停止容器
docker stop <container_id>
由于拉取的ubuntu是个比较纯净的,所以需要apt-get update,然后安装各种命令。 apt-get update apt-get install vim apt-get install net-tools # ifconfig apt-get install iputils-ping # ping ...
容器本身就被分配独立的IP,比如这里被分配的172.17.0.6。
我们可以在宿主机直接访问docker容器的内部Web服务了。
Docker 制作镜像
1.退出容器
docker stop <container_id>
2.查看容器
docker ps -a
3.把容器打成镜像
docker commit <container_id> <repository-name>[:<tag>]
4.查看镜像
docker images
Docker 上传镜像
1.登录
docker login
2.上传镜像
docker push <repository-name>[:<tag>]
此时在Docker仓库 搜索onebig32/zhao,就会看到我刚刚上传的镜像了 再次使用该镜像就可以直接docker pull onebig32/zhao:0.1 来使用了。
注意:
上传的用户仓库名称必须跟远程仓库一致,可以用docker tag来打标签
docker tag image_id username/库名:标签
DockerFile
当然部署还是需要DockerFile,有点像makefile,部署一步到位。 使用如下:
1.编写Dockerfile文件
FROM onebig32/zhao:0.1
# 基于镜像 ,拉取镜像,比如我刚才上传的镜像onebig32/zhao:0.1
MAINTAINER Aze <335424774@qq.com>
# 作者信息
RUN git clone https://github.com/onebig32/swoole.git \
&& cd ./swoole
# RUN 执行命令
WORKDIR ./swoole
# 设定初始目录
EXPOSE 3000
# 暴露3000端口
CMD go build .
# 运行 go build .命令,只会执行一条cmd命令
2.build该Dockerfile为一个镜像:
docker build --rm --no-cache=true -t docker-test .
- -t 设定镜像名字 docker-test
- --rm 如果已存在docker-testt镜像,则删除docker-test镜像
- --no-cache=true build时,禁止缓存
3.运行镜像即可:
docker run -i -t -p 3000:3000 -d docker-test /bin/bash
参考文章
1.安装docker: https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html 2.docker教学:https://www.jianshu.com/p/81291d66740f 3.docker手册:https://yeasy.gitbooks.io/docker_practice/