docker入门一
1 docker简介1.1docker介绍Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。1.2Docker的应用场景Web 应用的自动化打包和发布。
1 docker简介
1.1docker介绍
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
1.2Docker的应用场景
Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
1.3Docker的优点
1、简化程序:
Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。
2、方便多服务、多环境部署:
Docker镜像中包含了运行环境和配置,所以Docker可以简化部署多种应用实例工作。比如 Web应用、后台应用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个镜像部署。
3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
2 docker安装
2.1 centos7下安装(推荐)
Docker支持以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本
使用 yum 安装
Docker 要求 CentOS 系统的内核版本高于 3.10
# uname -r
3.10.0-693.el7.x86_64
如果有旧版本的docker,需要完全卸载
# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装需要的软件包,yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
# yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
安装docker,指定阿里源安装
# yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装
# yum install docker-ce docker-ce-cli containerd.io
启动 Docker 后台服务
# service docker start
以服务启动docker
# systemctl start docker
开机启动docker
# systemctl enable docker
参看docker状态、版本、信息
# systemctl status docker
# docker version
# docker info
Docker 默认的位置在/var/lib/docker,当前所有的镜像、容器都存储在这。
镜像加速
修改 /etc/docker/daemon.json 文件,保存后,重启docker
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
2.2windows平台下安装
win7、win8等需要利用docker toolbox来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
docker toolbox是一个工具集,它主要包含以下一些内容:
Docker CLI 客户端,用来运行docker引擎创建镜像和容器
Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
Docker Compose. 用来运行docker-compose命令
Kitematic. 这是Docker的GUI版本
Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
Oracle VM Virtualbox. 虚拟机
下载完成之后直接点击安装,安装成功后,桌边会出现三个图标,入下图所示:
点击Docker QuickStart图标来启动Docker Toolbox终端。
如果系统显示User Account Control窗口来运行VirtualBox修改你的电脑,选择Yes。
这界面就可以输入docker命令。
win10安装需要开启Hyper-V。
在程序和功能选择打开或关闭windows功能,选择Hyper-V,确定。
注意:这个功能在win10专业版以上才有。
安装Toolbox,
最新版Toolbox下载地址: https://www.docker.com/get-docker
点击 Get Docker Community Edition,并下载Windows的版本:
下载完成,点击Docker for Windows Installe.exe,完成安装。
安装完成后Docker会自动启动。通知栏上会出现个小鲸鱼的图标。
表示docker正在运行。点击图标进入后就可以使用docker命令操作了。
建议,windows平台建议安装虚拟机,虚拟机安装linux来操作更好。
2.3 MacOS平台下安装
macOS可以使用Homebrew来安装Docker。
Homebrew的Cask已经支持Docker for Mac因此可以很方便的使用Homebrew Cask来进行安装:
$ brew cask install docker
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password: # 输入 macOS 密码
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺 docker was successfully installed!
在载入Docker app后,点击Next,可能会询问你的macOS登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标。打开图标可以使用docker命令操作了。
也可以手动安装(略)。
3 docker常用命令
查找镜像
# docker search image_name
拉取docker镜像
# docker pull image_name
在本地主机上使用一个不存在的镜像时Docker就会自动下载这个镜像。如果想预先下载这个镜像,我们可以使用docker pull命令来下载它。
查看宿主机上的镜像
Docker镜像保存在/var/lib/docker目录下:
# docker images
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
删除镜像
# docker rmi image_name/image_id
查看当前有哪些容器正在运行
# docker ps
查看所有容器
# docker ps -a
启动、停止、重启容器命令
# docker start container_name/container_id
# docker stop container_name/container_id
# docker restart container_name/container_id
进入容器
# docker attach container_name/container_id
或者以一个伪终端的形式进入容器
# docker exec -it container_name/container_id bash
删除容器
# docker rm container_name/container_id
删除所有停止的容器
# docker rm $(docker ps -a -q)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)