# Windows部署Docker環境命令
docker命令:
1:停止docker命令:Net stop com.docker.service
2:啟動docker命令:Net start com.docker.service
3:docker ps 該命令只能看到正在運行的容器。
4:docker ps -a 查看所有容器
5:刪除容器命令:【先停止容器:docker stop 容器名】
6:刪除全部容器命令:docker rm `docker ps -a -q`
7:刪除指定容器命令:docker rm 容器名
8:進入容器命令:
1:進入mysql命令: docker exec -it mysql(容器名或ID) /bin/bash
2:進入nginx命令: docker exec -it nginx(容器名或ID) /bin/bash【windows 使用git bash框輸入時:winpty docker exec -it 容器名(容器ID) bash】
3:進入php命令: docker exec -it php(容器名或ID) /bin/bash
4:進入redis命令: docker exec -it redis(容器名或ID) /bin/bash
9:停止且刪除指定容器命令:docker stop (容器名或ID) && docker rm (容器名或ID) (可直接刪除: docker rm -f (容器名或ID))
10:進入nginx容器后,找到nginx配置文件:whereis nginx
11:記住三個路徑:
1:進入容器后,查詢nginx配置成功的歡迎html頁面路徑:cd /usr/share/nginx/html 下面有index.html(nginx歡迎界面),注意:此/usr/share/nginx下的除html目錄外,一旦容器刪除,就會全部刪除其他目錄
2:查詢nginx主或子配置文件:vim /etc/nginx/nginx.conf(主配置文件) 或 cd /etc/nginx/conf.d(子配置文件)
12:注意事項:
1:每次創建nginx容器后,檢查STATUS(Up)是否開啟:docker ps -a ,沒有問題,啟動容器:docker restart 容器ID
2:如果打開網站(域名),無法正常訪問:使用命令:docker logs 容器ID(注意查詢指定日志前多少條:docker logs 容器ID --tail=10),查詢具體問題,解決
3:啟動容器前,進入nginx內部容器中,使用nginx -t 命令檢查是否出現報錯問題,如果正常:可以啟動容器(退出容器后執行),如果錯誤,先處理nginx報錯問題,然后再啟動容器
13:查詢容器日志:
docker logs (容器Name或CONTAINER ID)
1 windows 創建容器:
創建php容器:7.4
docker pull php:7.4-fpm
docker run --name myPhpDocker -p 2000:9000 -d -v /D/Docker/wwwroot:/wwwroot php:7.4-fpm【使用中】
創建nginx容器:
docker pull nginx:latest
docker run --name myNginxDocker -p 3000:80 -d -v /D/Docker/wwwroot:/wwwroot -v /D/Docker/lnmp/nginx/conf:/etc/nginx/conf.d -v /D/Docker/lnmp/nginx/logs:/var/log/nginx --link myPhpDocker:php nginx【使用中】
創建mysql容器:5.7.16-ucloudrel1-log
docker pull mysql:5.7.16
docker run --name myMysqlDocker -p 4000:3306 -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.16【使用中】
創建redis容器:7.0
docker pull redis:7.0
docker run --name myRedisDocker -p 5000:6379 -d -v /D/Docker/lnmp/redis/redis.conf:/etc/redis/redis.conf --restart=always redis:7.0 redis-server --appendonly yes --requirepass "redis_123456"
創建mongoDb容器:
docker pull mongo:4.4.6
docker run --name myMongoDocker -p 6000:27017 -d -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:4.4.6
進入容器命令:
docker exec -it myMongoDocker mongo admin
2:
2.1:Dockfile:構建新的docker鏡像命令文件
dockerfile 構建過程解析
dockerfile內容基礎知識
每條保留字指令都必須為大寫字母且后面要跟隨至少一個參數
指令按照從上到下,順序執行
#表示注釋
每條指令都會創建一個新的鏡像層并對鏡像進行提交
Docker執行dockerfile的大致流程
docker從基礎鏡像運行一個容器 【從基礎鏡像運行一個容器】
執行一條指令并對容器作出修改 【執行命令:修改容器】
執行類似docker commit的操作提交一個新的鏡像層 【提交新鏡像】
docker再基于剛提交的鏡像運行一個新容器 【運行新鏡像】
執行dockerfile中的下一條指令直到所有指令都執行完成 【循環執行下一個file命令】
2.2:Docker-composer:執行dockerfile中的命令文件
流程:
1:使用 Dockerfile 定義應用程序的環境。
2:使用 docker-compose.yml 定義構成應用程序的服務,這樣它們可以在隔離環境中一起運行。
3:最后,執行 docker-compose up 命令來啟動并運行整個應用程序。
3:查詢鏡像版本命令:docker search 應用(redis)
4:解決docker容器中文字符亂碼問題:【https://blog.csdn.net/qq_37946573/article/details/125481814】
在命令行中,輸入中文出現亂碼或者鍵入錯誤的情況:
這里我想輸入:”中文“,但是出現亂碼。
并且,我在之前已經創建好鏡像,通過鏡像生成了容器。
1.使用locale查看當前容器的系統使用的字符集。
2.使用locale -a查看當前容器的系統支持可以使用的字符集。
3.在一些博客中,都建議修改/etc/profile,添加系統變量LANG等。
5:安裝vim命令:apt-get update && apt-get install vim -y
解決方法
1、同步源的索引,這個命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。
命令:apt-get update
2、同步源的索引
命令:apt-get install vim -y
6:Docker容器安裝參考鏈接:https://blog.csdn.net/weixin_41412505/article/details/124842879
7:容器組成:鏡像名稱:鏡像標簽
8:解析:由于 docker 的運行模式是 C/S。我們本機是 C,docker 引擎是 S
9:虛擬主機文件最終配置(子配置文件):
server {
listen 80;
root /docker/www;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /docker/www;
}
location ~ \.php$ {
root /docker/www;
#fastcgi_pass 172.17.0.3:9000;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Docker安裝php擴展: 【待檢測】
1:進入php容器(切到/usr/src目錄),執行ls -l
2:創建并初始化 /usr/src/php目錄 docker-php-source extract
3:ls -l
4:docker-php-source delete
5:ls -l
6:(切到/usr/local/etc/php目錄)ls /usr/local/lib/php/extensions/no-debug-non-zts-20190902
7:# 查看redis 擴展是否可以啟動:php -m | grep redis
8:安裝redis 擴展:pecl install redis
8:啟動 redis 擴展:docker-php-ext-enable redis
9:查看redis 擴展是否可以啟動:php -m | grep redis
PHP命令: 【待檢測】
檢查擴展:進入容器后執行命令:php -m
說明,php容器中默認是沒有php.ini配置文件的,加載原理如下所示:
root@517b9c67507a:/usr/local/etc/php# php -i | grep -A 5 php.ini
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => (none)
# 核心是 /usr/local/etc/php/conf.d 目錄下的擴展配置文件
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed => /usr/local/etc/php/conf.d/docker-php-ext-redis.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
卸載擴展,直接刪除/usr/local/etc/php/conf.d 對應的配置文件即可
# 卸載redis 擴展
root@803cbcf702a4:/usr/local# rm -rf /usr/local/etc/php/conf.d/docker-php-ext-redis.ini
root@803cbcf702a4:/usr/local# php -m
注釋:
1.4:使用下面的語句啟動了另外一個nginx服務:docker run --name test -p:80:80 -d nginx ,如果顯示Nginx標識,代表Nginx配置OK
- Docker容器化部署使用說明書
- 環境部署
- Windows系統
- Windows部署Docker
- 安裝過程可能碰到的問題總結
- Docker部署環境
- Docker hub操作
- Docker 部署 laravel5.5問題總結
- Docker處理中文亂碼問題
- Linux系統
- Centos7.2部署Docker
- Linux部署Docker準備前工作
- 部署docker問題總結
- Linux部署Docker粗略筆記
- 安裝git
- Docker命令大全
- 問題
- php7.4 安裝xlswriter擴展
- php7.2 DockerFile文件
- dockerFile和docker-composer區別
- docker-compose的使用
- docker-compose的使用問題總結
- docker-compose
- Windows系統
- docker-compose.yml編寫
- nginx目錄如下
- conf.d
- default.conf
- nginx.conf
- php目錄如下
- Dockerfile
- redis目錄如下
- redis.conf
- docker-compose使用說明
- Linux系統
- /workspace/html/config_dev
- html
- index.html
- index.php
- nginx
- conf
- nginx.production.conf
- conf.d
- default.conf
- log
- access.log
- error.log
- Dockerfile
- php
- conf
- php.production.ini
- php-fpm.conf
- log(目錄)
- php-fpm.d
- www.conf
- supervisor
- conf
- log
- Dockerfile
- .env
- docker-compose.yml