Docker官方镜像中心:https://hub.docker.com/explore/
参考:慕课网docker视频教程 https://www.imooc.com/video/14625
1、启动docker服务:service docker start
2、查看docker版本:docker version
3、查看本机安装的docker镜像:docker images
下图显示本机有一个hello-world镜像
4、拉取hello-world的镜像文件(默认去Docker Hub拉取):docker pull hello-world
5、运行一个镜像文件(例如镜像hello-world):docker run hello-world
6、查看正在运行的镜像:docker ps
7、停掉正在运行的镜像:Ctrl+C
8、后台运行nginx镜像并打印出容器ID:docker run -d nginx
-d含义如下:可以通过docker run --help查看
9、进入nginx容器:docker exec -it e35 bash
-it参数含义如下:
10、让容器中运行的nginx开放端口给主机访问:docker run -d -p 8080:80 nginx
浏览器输入localhost:8080,看到的是nginx的欢迎页:
此时是发生了端口映射,浏览器访问的8080其实是容器里面的80端口!
-p含义:开放容器的端口到主机上
-d含义:让容器在后台运行并打印容器ID:
11、检查8080端口是否开放:netstat -na|grep 8080
此时端口正处于listen状态。
12、停止nginx:docker stop 容器id(写一部分也行)
先查询nginx的容器id:docker ps
然后输入:docker stop c9
docker stop e3
再用docker ps查看运行的镜像:此时nginx已经完全停止了
13、使用大P命令随机映射端口:docker run -d -P nginx
再使用docker ps命令查看运行的镜像:
会发现主机的32768端口映射了容器中的nginx的80端口。
查看32768端口状态:netstat -na|grep 32768,此时32769端口处于监听状态了。
14、拉取tomcat镜像:docker pull tomcat
需要花费点时间:
查看本机的镜像:docker imges
此时就多了一个tomcat镜像,大小为463M。
15、利用Dockerfile制作自己的镜像:
下载jpress的war包作为项目:https://gitee.com/fuhai/jpress/tree/alpha/wars
将war包放入download目录下,然后cd download进入该目录
vi Dockerfile,输入以下内容,然后按:wq保存退出。
此时Dockerfile文件已生成:
接下来使用bulid命令构建镜像:docker build -t jpress:latest .
最后的点不能忘记,否则报错,表示当前目录(download下),控制台输出:
-t含义如下:
查看镜像:docker images
此时会发现多了自己制作的一个jpress镜像:
16、运行自己的容器,将tomcat的8080端口映射成主机的8888端口,这样可以通过8888访问:
docker run -d -p 8888:8080 jpress
查看8888端口情况:netstat -na|grep 8888
打开浏览器访问localhost:8888
可以访问tomcat首页:
输入http://localhost:8888/jpress-web-newest,项目名是war包的名字,访问jpress:
这样自己通过Dockerfile制作的镜像就成功运行了。
17、安装mysql:docker pull mysql
如果下载卡住很长时间(网络原因),按Ctrl+C终止正在运行的进程,重新运行docker pull mysql