Docker安裝與使用
Docker
Docker的映象和容器
An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and config files.
映象是一個環境完整的可執行的包
A container is a runtime instance of an image—what the image becomes in memory when actually executed. It runs completely isolated from the host environment by default, only accessing host files and ports if configured to do so.
把映象載入到記憶體,就是一個容器,容器與宿主環境是隔離的,僅根據配置檔案,與宿主環境通過宿主檔案和埠互動
(容器不是虛擬機器,容器直接執行在宿主系統環境裡,不像虛擬機器還要執行在虛擬的硬體裡,所以容器的效率更高)
虛擬機器執行在虛擬的軟硬體環境裡
Docker的容器直接執行在宿主的系統環境裡
下載安裝
版本選擇
DockerToolBox:較早的版本,相當於一個安裝指引
Docer for Mac:現行版本,可直接自動安裝。又分DockerCE版(免費)和DockerEE版(收費企業版,功能更強大些)
安裝地址見官網
Docker安裝成功後的介面如下:
常用命令
- 在Docker中檢視正在執行的容器
docker ps - 在Docker中檢視所有容器(含已關閉的)
docker ps -a - 在Docker中開啟/關閉某個容器
docker stop/start webserver(容器的名字) - 從Docker中移除容器
docker rm -f webserver - 從Docker中移除映象
docker rmi imageid - 從Docker中檢查容器詳情
docker inspect 容器名 - 從Docker中進入容器
docker exec -it phpsvr /bin/bash - 從容器退回到Docker
exit - 在php容器中安裝mysqli等
docker-php-ext-install pdo_mysql mysqli - 把容器儲存為映象
docker commit 容器ID 新映象名稱 - 解除安裝Docker(需要進入Docker的安裝目錄)
/Applications/Docker.app/Contents/MacOS/Docker --uninstall
搭建Nginx+Php開發環境
首先建立一個php容器(我的php程式碼均在web資料夾下,把本地web資料夾共享為php容器的/var/www/html根資料夾):
localhost:~ you$ docker run -d --name phpsvr
-v ~/web:/var/www/html
-v ~/web/usr/local/etc/php:/usr/local/etc/php
php:7.1.1-fpm
完成後,檢視該容器
localhost:~ you$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
19e7bb945169 php:7.1.1-fpm-alpine "docker-php-entryp..." 8 seconds ago Up 7 seconds 9000/tcp phpsvr
php7預設只安裝了mysqlnd,需要擴充套件pdo,用exec進入該容器,用docker-php-ext-install擴充套件mysqli和pdo
yourMacBook-Pro:~ you$ docker exec -it phpsvr /bin/bash
/var/www/html # docker-php-ext-install pdo_mysql mysqli
...
(注意,有時候會報錯找不到路徑:usr/local/etc/php/conf.d/,需要在進入對應的對映目錄,手動建立資料夾)
完成擴充套件後,退出容器,回到docker
/var/www/html # exit
yourMacBook-Pro:~ you $
接下來做一個nginx容器
寫一個nginx的配置檔案,檔案位置放到tmp/docker/nginx/conf.d/default.conf,檔案內容如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html; //從根目錄處理html(能直接解析html)
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass phpsvr:9000; //把php經9000埠拋給phpsvr容器處理
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; //對映到php容器的根目錄(需要和nginx的根目錄指向同一地址)
include fastcgi_params;
}
}
再建立nginx容器,並與php容器建立連結
yourMacBook-Pro:~ you$ docker run --name websvr
-p 80:80
-v ~/web:/usr/share/nginx/html
-v ~/web/tmp/docker/nginx/conf.d:/etc/nginx/conf.d
--link phpsvr nginx
nignx+php環境搭建完成
當然,還可以找一些組合式的映象,比如php和web容器放在一起的
docker run --name svr -p 81:80 -v ~/web:/var/www registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
不過這樣的映象不太符合Docker每個容器單一職責的理念,並不是很推薦使用
附錄;
附錄二;Android進階實戰技術視訊
獲取方式;
加Android進階群;701740775。即可前往免費領取。免費備註一下csdn
相關文章
- Linux 下的 Docker 安裝與使用 Docker-compose 安裝LinuxDocker
- macOS docker/laradock 安裝與使用MacDocker
- docker安裝使用Docker
- Docker安裝及使用Docker
- 使用docker安裝nginxDockerNginx
- docker安裝和使用Docker
- Centos 7 安裝 Docker 與 Docker ComposeCentOSDocker
- docker 安裝與學習Docker
- Docker Compose 安裝與部署Docker
- docker使用大全 tomcat安裝DockerTomcat
- (四)Docker安裝使用容器Docker
- 使用Docker安裝應用Docker
- 如何安裝和使用DockerDocker
- docker安裝mongoDB及使用DockerMongoDB
- 使用Docker方式安裝JenkinsDockerJenkins
- Docker筆記(三):Docker安裝與配置Docker筆記
- 伺服器安裝docker 以及使用docker安裝mysql及svn伺服器DockerMySql
- 使用Docker安裝Odoo 17(非Docker Compose)DockerOdoo
- Docker 容器監控原理及 cAdvisor 的安裝與使用Docker
- Ubuntu Server 24.04 LTS 安裝 Docker 與 Docker ComposeUbuntuServerDocker
- 使用docker安裝mysql和redisDockerMySqlRedis
- 使用docker安裝設定oracleDockerOracle
- 7、docker-compose安裝使用Docker
- ubuntu 使用aliyun映象安裝 dockerUbuntuDocker
- 在Ubuntu中安裝Docker和docker的使用UbuntuDocker
- 【Docker】2. Docker的架構介紹、安裝與解除安裝 (CentOS 7)Docker架構CentOS
- Docker ELK+Filebeat安裝與配置Docker
- Docker nginx安裝與配置掛載DockerNginx
- docker安裝elasticsearch與es-headDockerElasticsearch
- Cent OS 7安裝和使用dockerDocker
- Docker 知識梳理及其安裝使用Docker
- 使用Docker安裝Redis - 學習三DockerRedis
- 使用docker安裝hadoop(已實現)DockerHadoop
- 在ubuntu上安裝docker, 使用國內的安裝源UbuntuDocker
- 使用docker安裝gitlab以及gitlab簡單使用DockerGitlab
- docker 安裝Docker
- 安裝dockerDocker
- 安裝 dockerDocker