Docker 简单入门教学
这篇主要讲现在主流的容器技术Docker,觉得不学习下都跟不上节奏了哈。这里简单介绍docker的安装以及使用,有问题欢迎指出哈。
这里主要讲以下几点:
[*]Docker 创建仓库
[*]Docker 安装
[*]Docker 镜像创建
[*]Docker制作镜像
[*]Docker 上传镜像
[*]Dockerfile
Docker 创建仓库
1.注册dockerhub账号,并新建仓库,地址:https://hub.docker.com/。
http://i2.运维网.com/images/blog/201811/13/0cd2b6642b2d7f63b260e58381f20abb.png
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 https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
//安装最新版本的docker
apt-get install -y docker-ce
2.查看版本
docker version
http://i2.运维网.com/images/blog/201811/13/fdf7d2def8503b316cd88b1d5d8d822a.png
Docker 拉取镜像
1.首先我们下载一个ubuntu镜像
docker pull ubuntu:16.04
http://i2.运维网.com/images/blog/201811/13/6ac6d80b4e57800b47d49d0ea468526c.png
[*]运行镜像
docker run -t -i -p 3000:3000 ubuntu:16.04 /bin/bash
-i 显示info级别log信息
-t 显示控制台
-p 3000:3000 把容器的3000端口映射到本机3000端口
http://i2.运维网.com/images/blog/201811/13/1ffa2c16553239e03d6f7dcdf255671e.png
3 .查看容器
//查看运行容器
docker ps
//查看所有容器
docker ps -a
http://i2.运维网.com/images/blog/201811/13/c8f667b92a4d40301e3a608d6c27f7d1.png
其中,正常exit会关闭容器退出,可以按Ctrl+P+Q暂时退出容器,但是不关闭容器。
也可以使用docker exec -ti启动一个伪终端以交互式的方式进入某个容器
(使用exit退出后容器不停止运行)
4.启动容器
docker start
http://i2.运维网.com/images/blog/201811/13/ca2b3cab435006e47eaca98594111bda.png
5.进入容器
docker attach
http://i2.运维网.com/images/blog/201811/13/4e047bcc108e267d769c246a60d45534.png
6,.停止容器
docker stop
http://i2.运维网.com/images/blog/201811/13/72f0bf23d1c2346ae141544327a4688b.png
由于拉取的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。
http://i2.运维网.com/images/blog/201811/13/c5e651fb96c8c4b348ca24a6b8ef9c78.png
我们可以在宿主机直接访问docker容器的内部Web服务了。
http://i2.运维网.com/images/blog/201811/13/aa72a8851d340d0b3591b7b02c4dad8c.png
Docker 制作镜像
1.退出容器
docker stop
2.查看容器
docker ps -a
3.把容器打成镜像
docker commit [:]
http://i2.运维网.com/images/blog/201811/13/f5bec91b60934d46362bd6094b0b79c0.png
4.查看镜像
docker images
http://i2.运维网.com/images/blog/201811/13/bb5cc300966ae85ac95f53b055824f58.png
Docker 上传镜像
1.登录
docker login
http://i2.运维网.com/images/blog/201811/13/90b459256410ec56b1b6d261a2c21646.png
2.上传镜像
docker push [:]
http://i2.运维网.com/images/blog/201811/13/65f5539aca5d20c3e270b3f47d7d0f6c.png
此时在Docker仓库 搜索onebig32/zhao,就会看到我刚刚上传的镜像了
再次使用该镜像就可以直接docker pull onebig32/zhao:0.1 来使用了。
DockerFile
当然部署还是需要DockerFile,有点像makefile,部署一步到位。
使用如下:
1.编写Dockerfile文件
FROM onebig32/zhao:0.1
# 基于镜像 ,拉取镜像,比如我刚才上传的镜像onebig32/zhao:0.1
MAINTAINER Aze
# 作者信息
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时,禁止缓存
http://i2.运维网.com/images/blog/201811/14/9271ae5b3c15df755a3f466087722f03.png
3.运行镜像即可:
docker run -i -t -p 3000:3000 -d docker-test /bin/bash
http://i2.运维网.com/images/blog/201811/14/9bf2f5bc142cf490178e8a1508fc18a0.png
参考文章
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/
页:
[1]