docker学习初步

一、什么是docker

虚拟机(virtual machine)就是带环境安装的一种解决方案。它可以在一种操作系统里面运行另一种操作系统,但是虚拟机有占用资源多、冗余步骤多、启动慢的缺点。由于虚拟机存在这些缺点,Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC),对进程进行隔离,实现与底层系统的隔离,进程级别。Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。

二、docker可以干什么

Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
三、安装docker

四、docker学习初步

第一步查看docker程序是否存在,功能是否正常:

s u d o d o c k e r v e r s i o n sudo docker info

执行此命令出现如下错误
这里写图片描述

错误原因:docker进程使用Unix Socket而不是TCP端口,默认情况下,Unix socket属于root用户,需要root权限才能访问
这里写图片描述

用户没有办法使用sudo命令,解决步骤:
这里写图片描述

命令说明:切换到root用户命令,添加sudo文件的写权限命令,编辑sudoers文件(找到 root ALL=(ALL) ALL,在下面添加 zz ALL=(ALL) NOPASSWD: ALL ,意为允许zz用户执行sudo命令并且在执行的时候不用输入密码),撤销sudo文件的写权限命令,切换回普通用户命令(正确命令为# su zz)。
第二步用docker run命令创建容器:
这里写图片描述

命令说明:查看已有镜像,告诉Docker基于ubuntu:14.04镜像来创建容器,-i标志保证容器中STDIN是开启的,-t告诉docker为要创建的容器分配一个伪tty终端(逻辑终端设备l)。这样,新建的容器才能提供一个交互式shell。首先Docker检查本地是否有ubuntu:14.04镜像,若无则链接官方Docker Hub Registry查看Docker Hub中是否有该镜像,若找到则将其保存到本地宿主机中,然后用这个镜像创建一个新容器。最后我们告诉新容器中要运行/bin/bash命令启动一个Bash shell。

报错了,解决办法如下,添加 net.ipv4.ip_forward=1代码,又报“Permisson
denied”说明权限不够,要切换到root用户,

写入成功,重启网卡又报错(docker学习初步一天的时间净在改错了),接着百度找解决方法吧。。。通过如下方法成功解决(原因目前不清楚,后续学习后会补充)

这里写图片描述
这

终于容器创建成功了!!!(普天同庆)这里写图片描述

hostname :获取该容器的主机名

ps -aux :查看容器中运行的进程

猜你喜欢

转载自blog.csdn.net/qq_43153291/article/details/82495214