本文是在 Ubuntu Server 16.04 下进行测试,详细介绍 Docker 如果运行一个 Nginx 静态网站
ssh -q -l 用户名 -p 22 ip地址
2、切换到 root 用户
su
如果新服务器没有 root 密码,可以先设置密码
sudo passwd root
3、确保 apt-get 是最新版
sudo apt-get update
4、安装 docker
apt-get install -y docker.io 或者
curl -s https://get.docker.com|sh
5、查看 docker 是否安装成功
docker version
发现没有启动
6、启动 docker
service docker start
7、再次查看
docker version
启动成功,可以看到客户端和服务器端的版本信息
想看简约的,直接 docker -v
至此,准备工作已经做好。
docker pull nginx
这是从 docker 官方仓库下载,如果很慢,可以试试国内镜像仓库
docker pull registry.docker-cn.com/library/nginx
2、查看镜像列表
docker images
目前有一个镜像,即 registry.docker-cn.com/library/nginx
3、查看目前正在运行的容器
docker ps
目前没有正在运行的容器
4、启动镜像
① 前台启动
docker run registry.docker-cn.com/library/nginx
这是前台启动,无法输入命令,需要退出,可以按 ctrl + c
我们暂时不退出,打开另一个命令窗口,ssh 登录进去,查看当前正在运行的容器。可以 nginx 正在运行中
② 后台启动(推荐)
docker run -d registry.docker-cn.com/library/nginx
后台启动只需要加一个 -d 的参数
5、进入容器中
可以看到 nginx 正在运行
如果 ps -ef 命令没有找到
可以试试
apt-get update
apt-get install procps
退出容器
exit
1、重新启动 Nginx 镜像
我们先关闭之前的镜像中的容器
docker stop admiring_kapitsa
admiring_kapitsa 是容器名称
启动 Nginx 镜像
4、创建一个 hello.html,在里面写点东西,然后拷贝到容器中的/usr/share/html 目录中。最后提交到仓库,保证修改永久有效
5、提交
docker commit -m 'hello' 116c639e7fa9
一、准备工作
1、SSH 连接服务器ssh -q -l 用户名 -p 22 ip地址
2、切换到 root 用户
su
如果新服务器没有 root 密码,可以先设置密码
sudo passwd root
3、确保 apt-get 是最新版
sudo apt-get update
4、安装 docker
apt-get install -y docker.io 或者
curl -s https://get.docker.com|sh
5、查看 docker 是否安装成功
docker version
发现没有启动
6、启动 docker
service docker start
7、再次查看
docker version
启动成功,可以看到客户端和服务器端的版本信息
想看简约的,直接 docker -v
至此,准备工作已经做好。
二、运行 Nginx 镜像
1、拉取镜像到本地docker pull nginx
这是从 docker 官方仓库下载,如果很慢,可以试试国内镜像仓库
docker pull registry.docker-cn.com/library/nginx
2、查看镜像列表
docker images
目前有一个镜像,即 registry.docker-cn.com/library/nginx
3、查看目前正在运行的容器
docker ps
目前没有正在运行的容器
4、启动镜像
① 前台启动
docker run registry.docker-cn.com/library/nginx
这是前台启动,无法输入命令,需要退出,可以按 ctrl + c
我们暂时不退出,打开另一个命令窗口,ssh 登录进去,查看当前正在运行的容器。可以 nginx 正在运行中
② 后台启动(推荐)
docker run -d registry.docker-cn.com/library/nginx
后台启动只需要加一个 -d 的参数
5、进入容器中
docker exec -it admiring_kapitsa bash
docker exec 表示在容器中执行命令
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
admiring_kapitsa 是容器名称,可以通过 docker ps 查看
bash 终端命令
然后,我们发现仿佛我们进了一台新的电脑
进去看看文件目录,找一下我们 nginx 在哪里
查看当前运行的服务
ps -ef
可以看到 nginx 正在运行
如果 ps -ef 命令没有找到
可以试试
apt-get update
apt-get install procps
退出容器
exit
三、Docker 网络
上一节我们学习了安装 Docker 和 在 Docker 中安装 Nginx,没有介绍如果在浏览器中访问 Nginx 的网站。1、重新启动 Nginx 镜像
我们先关闭之前的镜像中的容器
docker stop admiring_kapitsa
admiring_kapitsa 是容器名称
启动 Nginx 镜像
docker run -d -p 8080:80 registry.docker-cn.com/library/nginx
-d --标示后台进程运行–p端口映射宿主8080→容器80端口registry.docker-cn.com/library/nginx 是镜像名称
2、查看 8080 端口的状态
netstat -na|grep 8080
8080 端口正在运行中
3、在浏览器访问 http://localhost:8080/
可以访问到(如果是在云服务器上测试,localhost换成ip地址)
4、创建一个 hello.html,在里面写点东西,然后拷贝到容器中的/usr/share/html 目录中。最后提交到仓库,保证修改永久有效
5、提交
docker commit -m 'hello' 116c639e7fa9
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏