自己很少使用Docker
,也没有机会使用,毕业开始工作后,进的公司使用Docker
进行部署,这是我的一些笔记,以便翻阅。
1.准备
系统:ubuntu16.04 or centos …
1.1.安装
1.1.1.ubuntu16.04
首先安装依赖包,在终端输入:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
安装Docker
,自动安装脚本提供了非常简洁的安装方式:
# 官方下载方式
curl -sSL https://get.docker.com/ | sh
# 镜像站会提升下载速度
# 阿里云的安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
# DaoCloud 的安装脚本
curl -sSL https://get.daocloud.io/docker | sh
安装完成后,输入sudo service docker status
可见Docker
已经启动:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2017-08-15 15:34:46 CST; 26min ago
Docs: https://docs.docker.com
Main PID: 16890 (dockerd)
Tasks: 25
Memory: 60.1M
CPU: 1.980s
CGroup: /system.slice/docker.service
1.1.2.centos7
完全可以参照上面的自动安装
1.2.镜像加速器
配置镜像加速器的目的是为了在使用Docker
的过程中能提升速度,比如使用DaoCloud 加速器,输入网址,点击立即使用,按照官网的教程,一行命令搞定:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://{修改分配给你的id}.m.daocloud.io
2.使用
下面将简单的获取一个镜像并输出一个Hello World
来简单演示下Docker
的使用,首先介绍下Docker
的三个基本概念,掌握了这三个基本概念,也就理解了Docker
的生命周期
什么是镜像(Image)?
引用《第一本Docker书》
镜像是构建
Docker
世界的基石,用户基于镜像来运行自己的容器,镜像是基于联合(Union)文件系统的一种层式,由一系列指令一步一步构建出来
什么是容器(Container)?
容器基于镜像启动,里面可以运行一个或者多个进程
什么是仓库(Repository)?
想象下github
就很容易理解,托管你自己创建的镜像,默认使用Docker Hub
2.1.Hello World
运行一条命令 docker run hello-world
,会发现并没有运行成功,因为我是在非root
的情况下运行的,会报如下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.30/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
至于为什么有这个错误,具体可以看这里,介绍得非常清楚,下面说下解决办法:
# 一定要重新登录才会生效
sudo usermod -aG docker $USER
用户重新登陆过后,就能成功运行了!
2.2.简单例子
获取镜像:
docker pull howie6879/cn_ubuntu
,这条命令就是从Docker Hub
拉取一个镜像到本地,下面就可以使用这个镜像了,运行:
docker run howie6879/cn_ubuntu:latest /bin/echo "Hello World
终端就会输出Hello World
3.最后
参考1:《Docker-从入门到实践》
参考2:《第一本Docker书》
gist看这里
图片来自网络