快速搭建本地docker的開發環境

芭菲雨發表於2021-12-10

windows安裝docker對系統有版本限制,由於我電腦不支援,所以就安裝centos8的虛擬機器,在虛擬機器上探索docker的使用。

下載地址:http://isoredirect.centos.org/centos/8/isos/x86_64/

映象:==CentOS-8.3.2011-x86_64-dvd1.iso==

選擇==NAT==的網路設定,方便本機互通;其他配置就按照預設的安裝。

等待一段時間虛擬機器安裝完成啦

預設root密碼與新建立的使用者密碼相同

虛擬機器設定

關閉防火牆

systemctl status firewalld.service # 防火牆狀態
systemctl stop firewalld.service #停止
systemctl start firewalld.service #開啟
systemctl disable firewalld.service #禁止自啟動
systemctl enable firewalld.service #開啟自啟動
複製程式碼

靜態ip設定

切換到root賬號

vi /etc/sysconfig/network-script/ifcfg-ens33
複製程式碼

配置檔案有如下變更兩處

BOOTPROTO=static #更改這個配置
IPADDR=靜態IP[開啟虛擬機器-編輯-虛擬網路編輯器-對應子網地址]
複製程式碼

網路卡重啟

systemctl restart network  #centos7
systemctl restart NetworkManager   #centos8
複製程式碼

測試一下網路:

ping baidu.com
複製程式碼

設定共享磁碟

虛擬機器設定-選項-共享資料夾-新增主機路徑

關於vmware16.0.0版本安裝虛擬機器共享目錄不起作用的問題解決參考

https://blog.csdn.net/bafeiyu2523696101/article/details/118098339

更換網路之後處理方式參考文章: https://www.cnblogs.com/abel-he/p/12689394.html

# 建立掛載目錄
mkdir /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs
# 還遇到了重啟虛擬機器部分掛載檔案丟失,目錄不為空的情況執行以下命令
sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000 -o nonempty
複製程式碼
# 上面的命令僅僅生效一次,重啟虛擬機器後又不生效了
vim /etc/fstab
# 新增一行儲存
.host:/www /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
# 再次執行以下命令,永久生效
sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000 -o nonempty

前置條件

1.前置條件(1)核心3.8以上,可通過uname -a 命令檢視核心版本

2.前置條件(2)需要檢查Device Mapper是否已經安裝

ls -l /sys/class/misc/device-mapper #檢視是否存在對應檔案
sudo grep device-mapper /proc/mapper # 檢視是否存在對應檔案
sudo yum install -y device-mapper # 安裝device-mapper
sudo modprobe dm_mod #安裝之後需要載入device mapper模組,載入之後檢視對應檔案就存在了
ls -l /sys/class/misc/device-mapper #再次檢視對應檔案
複製程式碼

安裝docker

官方文件地址:https://docs.docker.com/engine/install/centos/

W3C: https://www.runoob.com/docker/centos-docker-install.html

# 解除安裝舊版本
sudo yum remove docker
                  docker-client
                  docker-client-latest
                  docker-common
                  docker-latest
                  docker-latest-logrotate
                  docker-logrotate
                  docker-engine
                  docker-ce
                  docker-ce-cli
                  containerd.io

#yum擴充套件工具安裝
sudo yum install -y yum-utils
#yum安裝源設定
sudo yum-config-manager
    --add-repo
    https://download.docker.com/linux/centos/docker-ce.repo

#啟用夜間儲存庫,還可對應關閉disable
sudo yum-config-manager --enable docker-ce-nightly
#啟用測試
sudo yum-config-manager --enable docker-ce-test

# 安裝docker的命令
sudo yum install docker-ce docker-ce-cli containerd.io

# 開啟docker服務
sudo systemctl start docker

# 開機啟動
sudo systemctl enable docker

複製程式碼

分享一個rpm包的源地址:http://docker-release-yellow-prod.s3-website-us-east-1.amazonaws.com/linux/centos/

docker-compose 映象安裝

#下載
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#設定下載檔案可執行
sudo chmod +x /usr/local/bin/docker-compose
#設定軟連線
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#docker-compose版本檢視
docker-compose --version
複製程式碼

docker編排檔案倉庫

包含以下環境

  • php74環境(rebaitMq,mongodb,swoole,amqp,rabbitmq擴充套件)
  • php80環境(rebaitMq,mongodb,swoole,amqp,rabbitmq擴充套件)
  • kafka
  • zookeeper
  • rabbitmq
  • elasticsearch
  • kibana

地址:https://gitee.com/lean_in/docker_config

啟動多個docker容器

進入docker_config根目錄

#容器啟動
docker-compose up -d
#檢視啟動的容器
docker ps
#進入容器
docker exec -it [容器名] sh
#刪除某個容器
docker rm -f [容器名]
#重啟某個容器
docker restart [容器名]
#空間不足時執行該命令
docker system prune
#根據某個容器的配置檔案單獨啟動某個容器
docker-compose build [容器名]


最近需要在以上php74 容器的基礎上,給php安裝yaml擴充套件,yaml依賴libyaml

PECL :: Package :: yaml

pyyaml.org/download/libyaml/

更改了dockerfile檔案內容

刪除了源容器

docker-compose build [容器名]

docker內直接安裝yaml擴充套件

RUN apk add --no-cache --virtual .build-deps
    g++ make autoconf yaml-dev

RUN pecl channel-update pecl.php.net
RUN pecl install yaml-2.2.2 && docker-php-ext-enable yaml

RUN apk del --purge .build-deps

或者composer包更新的時候,可以忽略平臺提示
composer install --ignore-platform-reqs

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章