docker使用centos镜像,编译安装nginx,并上传镜像
生活随笔
收集整理的這篇文章主要介紹了
docker使用centos镜像,编译安装nginx,并上传镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
docker使用centos鏡像,編譯安裝nginx
- 1. 拉取鏡像
- 2. 運行centos容器
- 3. 安裝依賴包
- 4. 下載nginx的tar包
- 5. 解壓nginx的tar包
- 6. 創建nginx用戶
- 7. 創建日志目錄,并設置為nginx用戶
- 8. 編譯安裝nginx
- 9. 設置環境變量
- 10. 啟動nginx報錯如下內容
- 11. 將當前容器生成nginx鏡像并上傳
1. 拉取鏡像
[root@localhost ~]# docker pull centos2. 運行centos容器
[root@localhost ~]# docker run --name centos01 -it centos3. 安裝依賴包
[root@a4f6f126ac72 /]# yum -y install make gcc gcc-c++ openssl-devel pcre zlib openssl gd-devel wget pcre-devel4. 下載nginx的tar包
[root@a4f6f126ac72 /]# wget http://nginx.org/download/nginx-1.20.1.tar.gz也可以使用下面的方法 // 將本地的包傳到容器 [root@localhost ~]# docker cp /root/nginx-1.20.1.tar.gz a4f6f126ac72:/root //包的位置加容器的id+容器目錄5. 解壓nginx的tar包
[root@a4f6f126ac72 ~]# tar xf nginx-1.20.1.tar.gz -C /usr/local/6. 創建nginx用戶
[root@a4f6f126ac72 local]# useradd -r -M -s /sbin/nologin nginx7. 創建日志目錄,并設置為nginx用戶
[root@a4f6f126ac72 local]# mkdir -p /var/log/nginx [root@a4f6f126ac72 local]# chown -R nginx.nginx /var/log/nginx/8. 編譯安裝nginx
[root@a4f6f126ac72 nginx-1.20.1]# pwd /usr/local/nginx-1.20.1[root@a4f6f126ac72 local]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log[root@a4f6f126ac72 local]# make && make install9. 設置環境變量
[root@a4f6f126ac72 local]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh [root@a4f6f126ac72 local]# source /etc/profile.d/nginx.sh10. 啟動nginx報錯如下內容
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) 解決措施 [root@a4f6f126ac72 conf]# pwd /usr/local/nginx/conf [root@a4f6f126ac72 conf]# vim nginx.conf9 pid /usr/local/nginx/logs/nginx.pid;[root@a4f6f126ac72 conf]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //指定文件加載nginx配置文件11. 將當前容器生成nginx鏡像并上傳
// 首先登錄你的docker Hub
[root@localhost ~]# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: dockerimages123 //dockerHub的賬號 Password: //密碼 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded// 將容器打包成鏡像
// a4f6f126ac72這個是容器的id,也可以寫容器的名字,dockerimages123/nginx:v0.1這個是鏡像的名字,名字只能寫自己dockerHub的id加鏡像名才可以上傳 [root@localhost ~]# docker commit -c 'CMD ["/bin/bash","/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf"]' a4f6f126ac72 dockerimages123/nginx:v0.1 sha256:5395d21f1c7547d1b2cda98d7c2b7b346ca5c3b98b2e510ab6aa469d08977d0a// 將鏡像上傳到dockerHub倉庫
[root@localhost ~]# docker push dockerimages123/nginx:v0.1 //這個寫你dockerHub的名字然后接鏡像名The push refers to repository [docker.io/dockerimages123/nginx] ba052d369600: Pushed 74ddd0ec08fa: Pushed v0.1: digest: sha256:17ae9261f7b59d1bbb1a61607b32b95ae59e631d5c046c7ae7d8198e22a0eb0c size: 742// 退出賬號的命令
[root@localhost ~]# docker logout總結
以上是生活随笔為你收集整理的docker使用centos镜像,编译安装nginx,并上传镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【一句话说清】60个行业2018年发展趋
- 下一篇: java web pdf迅雷下载文件_j