Docker容器簡(jiǎn)單部署nginx過(guò)程解析
1、容器中部署nginx服務(wù)
centos:7鏡像運(yùn)行一個(gè)容器,并且,在這個(gè)容器內(nèi)部署Nginx服務(wù)。
[root@Docker ~]# docker pull centos:7 //下載鏡像
[root@Docker ~]# docker run -itd --name webapp --restart=always centos:7 //運(yùn)行一個(gè)容器名為:webapp
[root@Docker ~]# docker cp nginx-1.16.0.tar.gz webapp:/root //將本地nginx包導(dǎo)入webapp容器內(nèi)
[root@Docker ~]# docker exec -it webapp /bin/bash //進(jìn)入容器
[root@85099880dabe ~]# tar zxf nginx-1.16.0.tar.gz
[root@85099880dabe ~]# cd nginx-1.16.0
[root@85099880dabe nginx-1.16.0]# yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel //下載相關(guān)依賴包
[root@85099880dabe nginx-1.16.0]# useradd -M -s /sbin/nologin nginx //添加一個(gè)沒(méi)有登錄權(quán)限的nginx用戶
[root@85099880dabe nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx //編譯安裝

[root@85099880dabe nginx-1.16.0]# make && make install //編譯安裝
[root@85099880dabe nginx-1.16.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //創(chuàng)建軟鏈接
[root@85099880dabe nginx-1.16.0]# nginx
[root@85099880dabe nginx-1.16.0]# nginx //確認(rèn)nginx服務(wù)開(kāi)啟
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
[root@85099880dabe nginx-1.16.0]# cd /usr/local/nginx/html/
[root@85099880dabe html]# echo "TEST WEB" > index.html
[root@85099880dabe html]# curl 127.0.0.1
TEST WEB
2、遷移鏡像
所需環(huán)境:
docker1主機(jī):192.168.45.129
docker2主機(jī):192.168.45.134
1)docker1主機(jī)
將docker1的剛剛創(chuàng)建的容器并制作成鏡像導(dǎo)入docker2主機(jī)上
[root@Docker ~]# docker commit webapp myweb //將webapp容器制作成鏡像名為myweb
sha256:b035b8e8a36140e1bdbda9cf3a736b139ea8a48db7871a10f509b8f34d4c0f82
[root@Docker ~]# docker save > myweb.tar myweb:latest //將鏡像導(dǎo)出
[root@Docker ~]# scp myweb.tar 192.168.45.134:/root //將鏡像導(dǎo)出的tar包c(diǎn)p給docker2主機(jī)
The authenticity of host '192.168.45.134 (192.168.45.134)' can't be established.
ECDSA key fingerprint is d7:77:71:90:34:25:c0:ec:e0:b6:5c:cc:6b:44:93:7b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.45.134' (ECDSA) to the list of known hosts.
root@192.168.45.134's password: //密碼為docker2主機(jī)的密碼
myweb.tar 100% 353MB 176.4MB/s 00:02
2)docker2主機(jī)
[root@Docker2 ~]# docker load < myweb.tar //將剛剛cp過(guò)來(lái)的tar包制作成鏡像
[root@Docker2 ~]# docker run -itd --name newweb myweb:latest //啟動(dòng)一個(gè)容器
[root@Docker2 ~]# docker exec -it newweb /bin/bash //進(jìn)入容器
[root@4e419b580248 /]# nginx
[root@4e419b580248 /]# nginx //確定已啟動(dòng)nginx服務(wù)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[root@4e419b580248 /]# curl 127.0.0.1
TEST WEB
注:這里我們可以看見(jiàn)在docker1主機(jī)容器中搭建的簡(jiǎn)單nginx環(huán)境并制作成鏡像成功的遷移到了docker2主機(jī)上了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn)
這篇文章主要介紹了docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
詳解Docker 下開(kāi)發(fā) hyperf 完整使用示例
這篇文章主要介紹了詳解Docker 下開(kāi)發(fā) hyperf 完整使用示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
IDEA 通過(guò)docker插件發(fā)布springboot項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了IDEA 通過(guò)docker插件發(fā)布springboot項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Docker部署java項(xiàng)目的詳細(xì)步驟(利用Dockerfile方式)
docker可以利用簡(jiǎn)單的編寫(xiě)程序構(gòu)建出任何你想要的環(huán)境,同時(shí)可以跟業(yè)務(wù)代碼相結(jié)合,快速構(gòu)建和生成所需要的應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Docker部署java項(xiàng)目的詳細(xì)步驟,本文主要利用的是Dockerfile方式,需要的朋友可以參考下2022-08-08

