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
更改了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 協議》,轉載必須註明作者和本文連結