通过 Vagrant 上的 Docker 创建一个 Nginx,并从主机上进行访问
我們將在使用Vagrant創建的虛擬機上運行Docker服務以使本地能夠訪問nginx服務器。
环境
MacOS 10.12.6(Sierra)
Vagrant 1.9.7
CentOS 7.3(虚拟机)
Docker 17.06.0-ce
做好准备
请确保在使用Vagrant创建的虚拟机上可以使用Docker。
如果还没有完成,请参考以下信息自动安装Docker。
获取nginx镜像
使用Docker Hub内官方的nginx镜像。
#vmに入る
vagrant ssh
#nginxのdockerイメージを取得する
docker pull nginx
#バージョンを指定したい場合はタグで指定する※ない場合は最新(latest)が指定される
# docker pull nginx:1.13.33
#イメージが取得できたか確認
docker images
#nginxのイメージが表示される
确认nginx的启动
#起動
docker run -d --name nginx_test -p 8080:80 nginx
# nginx_test <- 名前付け
# -d <-- バックグラウンドで実行
# -p 8080:80 <- ホスト(VM)の8080番ポートをコンテナの80番ポートにマッピングする
# nginx <- 使用するイメージ名
#コンテナが稼働しているか確認
docker ps -a
#nginxがupになっている
#表示確認
curl localhost:8080
#nginxのwelcomeページが取得される
从流浪(Vagrant)主机(本次为Mac)进行访问。
设置用于访问虚拟机的IP地址
#ホスト側でVagrantfileを編集
vi Vagrantfile
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
---略----
#config.vm.network "private_network", ip: "192.168.33.10"
↓上記の行をコメントアウトを外し任意のIPを設定
config.vm.network "private_network", ip: "192.168.33.10"
---略----
# SHELL
end
#vagrant再起動
vagrant reload
#VMに入り再度nginxを起動する
vagrant ssh
#起動しているコンテナを確認
docker ps -a
#nginxのステタースがExitedになっている
#再開する
docker start nginx
#再開確認
docker ps -a
#nginxのステタースがupになっている
#アクセスが来るかログを監視
docker logs -f nginx
确认在宿主机(Mac)上的显示
请在浏览器中访问 http://192.168.33.10:8080/ (IP地址须已设置),确认能显示出nginx的欢迎页面,并查看docker的日志中是否有访问日志。
将Nginx自动安装并启动。
通过在 Vagrant 文件中进行配置,可以在执行 vagrant up 命令时自动完成安装和启动镜像的操作。
vi Vagrantfile
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
---略----
#以下の記述を追加
config.vm.provision "docker" do |d| #dockerをインストール・起動する
d.run "nginx", image: "nginx", args: "-p 8080:80" #nginxを"-p 8080:80"を引数にrunする(自動でnginxイメージを取得)
end
---略----
# SHELL
end
我想要实现在本地进行内容编辑的功能。使用Vagrant-docker-nginx环境,使得可以在本地编辑HTML文件。