以前用过,现在忘得差不多了,重新看一遍吧:
1.docker科普
是一个开源软件,一个容器引擎,基于linux的cgroup子系统,以及namespace特性而产生。能够提供进程隔离的能力,一个docker容器就是一个虚拟的os。所谓容器引擎,就是通过docker的功能可以创建容器。
docker有这几个元素,通过docker客户端命令,连接docker demon服务端,然后服务端可以从仓库拉取镜像,通过镜像创建docker容器。这种方式和大部分软件的使用一样的,一个干活的服务端-docker demon进程,一个往服务端发送命令的客户端-docker client,以及可以使用的资源-image,以及最终要达到的目的-docker 容器。
类比myslq协议的服务端客户端,类比http协议的服务端客户端。
我可以这么理解,只要是网络编程,要么定义协议-mysql要么使用众所周知的协议-http ftp,那么如果使用自己开发的服务端软件功能,就需要提供一个客户端。因为如何使用是自定的。
2.docker这个工具的安装
必须有root用户权限
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装工具包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置仓库源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
查看decker-ce 以及docker-ce-cli的版本
yum list docker-ce --showduplicates | sort -r
yum list docker-ce-cli --showduplicates | sort -r
安装特定版本或者最新版本的docker-ce 或者docker-ce-cli
yum install docker-ce docker-ce-cli containerd.io
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
安装后默认是不启动的,但是已经创建好了用户组docker,用户组下用户为空
systemctl start docker
测试:
docker run hello-world
3.docker的使用
3.1 直接使用,执行一个命令
docker run ubuntu:15.10 /bin/echo "Hello world"
3.2 交互式使用
docker run -i -t ubuntu:15.10 /bin/bash 这样就会进去容器,exit会退出容器
3.3
----
dockerfile为啥第一句:from aliphne https://yeasy.gitbooks.io/docker_practice/content/cases/os/alpine.html
1.Alpine
由非商业组织维护的,支持广泛场景的 Linux
发行版
2.目前 Docker 官方已开始推荐使用 Alpine
替代之前的 Ubuntu
做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。