Linux推荐使用vmware14+centOS7,vmware随便找个地方下即可,centOS7可以在官网下。
安装centos7的时候,注意网络使用桥接模式。
新安装的centOS7需要设置一下开机自动配置IP地址
首先查看一下虚拟机的IP地址:
ip addr
然后使用远程smarTTY连接一下这个服务器方面操作:
第一次启用docker.service时可能会出错:
使用:
journalctl -u docker.service
来查看出错信息:
报错的意思是linux的内核中的SELinux不支持overlay2 graph driver。可以重启新的内核或者在docker中禁用selinux。
进入到:
cd /etc/sysconfig/docker
保存文件并退出后需要重启docker:
systemctl restart docker.service
参考:
http://ju.outofmemory.cn/entry/352578
https://www.cnblogs.com/huhyoung/p/9495956.html
然后开启一下docker并设置一直启用
systemctl start docker
systemctl enable docker
如果需要关闭docker,可以使用:
systemctl stop docker
镜像操作
搜索镜像(例如搜索和mysql有关的镜像):
docker search mysql
下载(拉取)镜像:
docker pull mysql
这种方式默认下载的是最新版本,如果需要下载指定版本,可以使用:
docker pull mysql:5.5
查看当前的docker库中都有哪些内容:
docker images
删除指定本地镜像:
docker rmi IMAGE-ID
容器操作
容器操作的过程为:
得到软件镜像----运行镜像-----产生一个容器(正在运行的软件)
- 一个镜像运行之后可以产生一个容器,容器可以去运行、停止运行以及被删除。
- 停止运行的软件可以再次被运行起来,但是被删除的软件就不能再被运行了。
- 另一方面删除一个容器并不会删除它的镜像。
现在以tomcat为例进行说明:
通过docker容器下载tomcat:
docker pull tomcat
查看一下docker中的库安装情况:
docker images
现在来运行一下tomcat:
docker run --name mytomcat -d tomcat:latest
这句话启动了一个名为"mytomcat"的tomcat服务器
"-d"表示后台运行,"tomcat:latest"分别对应了tomcat的repository和tag,表示使用最新版的tomcat。
查看一下当前docker中运行的软件情况:
docker ps
可以看到有一个正在运行的tomcat,ID是193871cd2b1b,版本是latest,运行了一分钟,端口号是8080,服务协议是tcp,容器的名字叫mytomcat。
退出这个tomcat程序(需要指定容器的ID而非容器的名字):
docker stop 193871cd2b1b
再次启用这个容器:
docker start 193871cd2b1b
删除掉这个容器:
docker rm 193871cd2b1b
主机端口映射到容器内部端口:
docker run -d -p 8888:8080 tomcat
关于主机端口映射到容器内部端口:
如果不做一定的配置,容器外部是无法通过网络连接到容器内部的。比如如果这个虚拟机上的容器不做端口映射,主机的浏览器就无法连接上正在运行的tomcat。端口映射可以通过配置一个外部端口让容器外部通过这个端口来访问。
现在在主机的浏览器中访问虚拟机IP地址:8888,就可以访问到容器内的tomcat了:
一些容器操作的参考: