Docker使用(搭建2048游戏、搭建nginx服务)
来源:互联网 发布:手游代充平台 知乎 编辑:程序博客网 时间:2024/06/07 15:04
2048镜像百度盘地址:https://pan.baidu.com/s/1b9rXCy
nginx镜像百度盘地址:https://pan.baidu.com/s/1kVh5zRT
ubuntu镜像百度盘地址:https://pan.baidu.com/s/1nvT46HN
关于docker的安装以及基本用法参考上文
首先清理出一个干净的环境用来做演示
执行以上步骤只是为了重头演示一个完整的过程,细心的同学会发现删除第二个镜像的时候报错了
Failed to remove image (newubuntu): Error response from daemon: No such image: newubuntu:latest
原因:在保存镜像的时候加了TAG(rm),而docker删除时默认会将TAG设为latest,如果想要删除的话需要指定TAG为rm
[root@foundation5 ~]# docker rmi newubuntu:rm
一、搭建2048游戏
1.倒入镜像
[root@foundation5 docker-images]# docker load -i game2048.tar
2. 运行应用:
[root@foundation5 docker-images]# docker run -d -p 8090:80 --name 2048 game2048
3. 访问应用(本人真机ip172.25.254.5)
默认应用会运行在80端口上的,但是我本机已经运行了nginx,所以做了一个端口转换 8090:80
对于默认镜像信息我们可以通过以下命令进行查看
[root@foundation5 docker-images]# docker inspect game2048
[ { "Id": "sha256:19299002fdbedc133c625488318ba5106b8a76ca6e34a6a8fec681fb54f5e4c7", "RepoTags": [ "game2048:latest" ], "RepoDigests": [], "Parent": "", "Comment": "", "Created": "2016-12-26T03:03:47.054530538Z", "Container": "64ed97f50cfef508b96bf58a46488e64824786535bfe6917a4ed6e09e366302e", "ContainerConfig": { "Hostname": "1d811a9194c4", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "443/tcp": {}, "80/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.11.7" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/sh\" \"-c\" \"sed -i \\\"s/ContainerID: /ContainerID: \\\"$(hostname)\\\"/g\\\" /usr/share/nginx/html/index.html \u0026\u0026 nginx -g \\\"daemon off;\\\"\"]" ], "ArgsEscaped": true, "Image": "sha256:b9f1f2dbfa4e19915a872fafb02dc5de7f6406df48608b18c1893840f662fa5c", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": [], "Labels": {} }, "DockerVersion": "1.13", "Author": "Golfen Guo \u003cgolfen.guo@daocloud.io\u003e", "Config": { "Hostname": "1d811a9194c4", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "443/tcp": {}, "80/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.11.7" ], "Cmd": [ "/bin/sh", "-c", "sed -i \"s/ContainerID: /ContainerID: \"$(hostname)\"/g\" /usr/share/nginx/html/index.html \u0026\u0026 nginx -g \"daemon off;\"" ], "ArgsEscaped": true, "Image": "sha256:b9f1f2dbfa4e19915a872fafb02dc5de7f6406df48608b18c1893840f662fa5c", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": [], "Labels": {} }, "Architecture": "amd64", "Os": "linux", "Size": 55496757, "VirtualSize": 55496757, "GraphDriver": { "Name": "devicemapper", "Data": { "DeviceId": "69", "DeviceName": "docker-8:3-136573604-be9240103088b33d1e849f9cf3157592fcdda1d22e800cbef1e1392086156094", "DeviceSize": "10737418240" } } }]
到这里演示就完了,是不是太简单了,这就是Docker,把环境清理以下搭建Nginx吧
二、搭建nginx服务器
1.倒入镜像
[root@foundation5 docker-images]# docker load -i nginx.tar
2. 先了解下nginx容器的配置
由以上操作可知,nginx的配置文件在/etc/nginx/nginx.conf
查看一下配置文件
可知还有一个被包含进来的nginx配置目录
include /etc/nginx/conf.d/*.conf;
查看这个目录中的默认配置文件可知网站根目录为
location / { root /usr/share/nginx/html; index index.html index.htm; }
3. 开启服务器
[root@foundation5 docker-images]# docker run -d --name nginxServer nginxe44404d67211c37a177c60f34917a17829c1f37dafae9121eb261c35a268115f[root@foundation5 docker-images]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESe44404d67211 nginx "nginx -g 'daemon off" About a minute ago Up About a minute 80/tcp, 443/tcp nginxServer
使用容器的ip进行访问测试;
4. 默认发布目录映射以及网络模式修改,直接通过真机进行访问,便利网站开发:
[root@foundation5 docker-images]# docker run -d --name nginxDC --net host -v /tmp/website/:/usr/share/nginx/html nginx3e2e624ced8f9e7bdf3876aa8e85a4413b1813c0b7223e4a0ca1c46606ff2617[root@foundation5 docker-images]# cat /tmp/website/index.html <h1>goooooooooooooood</h1>
其实步骤真的很简单,容器+镜像,简单完美!
- Docker使用(搭建2048游戏、搭建nginx服务)
- 使用docker搭建nginx
- Docker系列(三):docker搭建服务
- Docker搭建MySQL服务
- 【docker】使用docker快速搭建nginx+php开发环境
- docker 搭建开发环境(nginx,redis)
- nginx服务傻瓜搭建
- 搭建nginx+ffmpeg服务
- Nginx linux服务搭建
- nginx认证服务搭建
- nginx服务的搭建
- Nginx 服务搭建
- docker+nginx+keepalived环境搭建
- 使用Docker搭建Django,Nginx,R,Python部署环境
- docker搭建简单web服务
- 使用docker搭建gitlab
- docker 安装 搭建 使用
- 使用Docker搭建GitLab
- Gitee码云通过WebHooks实现自动同步代码部署
- 17-18-19-对象的构造函数
- java static关键字
- layer ui 导入文件之前传入数据
- Tomcat SSL/HTTPS 单向认证
- Docker使用(搭建2048游戏、搭建nginx服务)
- turtle——童年的记忆
- 线程池初探(二)
- <五>Linux文件权限与属性详解--su & sudo
- Java day9
- 基于OpenCV 2.4.93.1的汉字显示(FreeType 2.6.2)
- 正则验证固话和手机号
- AndroidStudio JNI开发:生成可调用jar
- sudo adduser XXX sudo XXX 用户不在 sudoers 文件中