[docker从入门到入土]hello-world,nginx镜
本文包括hello-world镜像的拉取和运行,以及在此过程中用到的基本命令.
本文使用git命令行操作,在用SSH连接工具操作效果一致
首先docker-machine start启动docker服务
docker version命令查看docker-machine的基本参数
可能会出现这样的情况
可以使用 docker-machine env 命令
复制这段,在命令行中运行(使用自己电脑生成的env信息)
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="D:\docker_home\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
再使用docker version命令
注意:此方法只对当前打开的命令行有效,可以将这5个变量加入到系统环境变量中,就不会报错了,而且后续的一些操作也是需要这个环境变量的,所有非常建议修改环境变量
查看已安装的镜像
命令是docker images
5列分别是镜像名称,镜像版本,镜像在docker主机上的镜像id,镜像在镜像仓库上最后更新时间和镜像大小.注意镜像名称repository和镜像版本tag
本例要运行hello-world镜像和nginx镜像,可以看到docker主机上已经安装了hello-world镜像,先删除此镜像,删除镜像的命令是docker rmi 镜像名称
可以通过docker rmi –help查看命令具体信息
拉取镜像,可以通过docker官方提供的镜像仓库查看有哪些可以的镜像,网址是:
点击右上角的explore可以浏览可以的镜像
搜索要用到的hello-world镜像,此处说明一下,docker对镜像的命名规范是小写英文字母和-中划线.后续创建自己的镜像的时候,将会发现在镜像命名中使用大写字母会报错,此处暂时不谈.
可以看到很多的hello-world,查看第一个hello-world,可以查看镜像的基本信息和使用方法
右边可以看到拉取镜像的命令,直接复制命令docker pull hello-world
可以看到拉取了latest版本的hello-world镜像
同样可以用docker pull –help查看这个拉取命令的具体使用方法
可以看到这个命令是可以指定镜像版本的,如果不指定版本的话会默认拉取latest版本的镜像.
docker官方仓库的下载速度可能有点慢,可以使用国内服务商提供的docker仓库,如阿里云,网易蜂巢等
运行hello-world镜像,命令是docker run hello-world
这是一个简单的打印信息的程序,告诉我们镜像运行时经过了哪些步骤.
接下来看nginx的运行,同样用pull命令拉取
运行的命令是docker run 镜像名称
命令详情可以通过docker run –help查看
如果镜像在主机上没有,会先去拉取镜像再运行
nginx运行,命令是docker run -d -p 80:80 nginx
其中-d是让镜像在后台运行的命令–p 80:80表示暴露容器的80端口(后一个80)并将其映射到主机的80端口(前一个80)上.
完成后返回容器的id
在浏览器中访问192.168.99.100
注意,部分浏览器访问可能有问题,可以用谷歌浏览器访问.
查看容器运行状态 docker ps