win7設置docker默認服務端地址
win7通過
Docker Toolbox
安裝docker后,輸入指令默認連接的是虛擬機中的default
節點。連接遠程docker服務時,需要使用docker -H tcp://ip:port [Commands]
指令來操作,輸入比較繁瑣。通過添加bat腳本,實現自動添加-H tcp://ip:port
參數。
1.開啟docker遠程訪問
要本地連接遠程docker服務,服務必須開啟遠程訪問功能。參照開啟docker遠程訪問設置服務器。
2.本地調整
2.1 docker.exe
重命名
為保持使用習慣,bat腳本命名為docker.bat
,命令行輸入docker
可直接調用。故需重命名docker.exe
至docker2.exe
防止沖突。
2.2 添加docker.bat
在Docker Toolbox
根目錄下新建docker.bat
文件,內容如下。其中192.168.0.1:2375
為開啟docker遠程訪問
中所開通的遠程docker服務地址。Docker Toolbox
目錄需添加至環境變量。
@echo off
:: 清空參數字符串
set str=
:: 參數拼接
:joint
if "%1"=="" goto docker
set str=%str% %1
shift
goto joint
:: 指令與參數拼接
:docker
docker2 -H tcp://192.168.0.1:2375 %str%
2.3 添加快速切換功能
實際在使用時,我們可能有多台遠程docker
服務器,而有時也會連接本地docker
。每次手動修改docker.bat
太過繁瑣,故在Docker Toolbox
下添加腳本,快速切換docker
默認服務端地址。
腳本命名為dockerip.bat
(根據個人喜好隨意修改),只需命令行下輸入dockerip
,即可快速切換docker
默認服務端地址。
@echo off
echo.-----------------------------------------------------------------
echo.修改docker遠程服務器地址
set ip0=localhost
set ip1=192.168.0.1:2375
set ip2=192.168.0.2:2375
:: 選擇待設置ip
:main
echo.-----------------------------------------------------------------
echo.0 %ip0%
echo.1 %ip1%
echo.2 %ip2%
set /p choice=請輸入待設置ip編號,按回車鍵確認:
if %choice%==0 set ip=%ip0%
if %choice%==1 set ip=%ip1%
if %choice%==2 set ip=%ip2%
if "%ip%"=="" (
echo.輸入錯誤,請重新輸入!
goto main
)else (
echo.輸入有效,即將替換遠程docker地址為"%ip%"
goto begin
)
:: 執行替換
:begin
echo.-----------------------------------------------------------------
:: 切換到工作路徑,按實際Docker Toolbox路徑修改I啊
pushd "D:\Program Files\Docker Toolbox"
:: 備份原docker.bat文件...
copy docker.bat docker.bat.bak>nul
:: 查找並刪除原記錄...
find /v "docker2" <docker.bat >docker.bat.new
:: 添加新記錄...
if "%ip%"=="%ip0%" (
@echo docker2 %%str%% >>docker.bat.new
)else (
@echo docker2 -H tcp://%ip% %%str%% >>docker.bat.new
)
:: 保存修改后文件...
move docker.bat.new docker.bat>nul
popd
echo.操作完成,請按任意鍵退出...
echo.------------------------------------------------------------------
@Pause>nul
3.使用驗證
C:\Users\11111> dockerip
-----------------------------------------------------------------
修改docker遠程服務器地址
-----------------------------------------------------------------
0 localhost
1 192.168.0.1:2375
2 192.168.0.2:2375
請輸入待設置ip編號,按回車鍵確認: 1
輸入有效,即將替換遠程docker地址為"192.168.0.1:2375"
-----------------------------------------------------------------
操作完成,請按任意鍵退出...
------------------------------------------------------------------
C:\Users\11111> docker version
Client:
Version: 19.03.1
API version: 1.38 (downgraded from 1.40)
Go version: go1.12.7
Git commit: 74b1e89e8a
Built: Wed Jul 31 15:18:18 2019
OS/Arch: windows/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:21 2018
OS/Arch: linux/amd64
Experimental: false
PS C:\Users\12623> dockerip
-----------------------------------------------------------------
修改docker遠程服務器地址
-----------------------------------------------------------------
0 localhost
1 192.168.0.1:2375
2 192.168.0.2:2375
請輸入待設置ip編號,按回車鍵確認: 2
輸入有效,即將替換遠程docker地址為"192.168.0.2:2375"
-----------------------------------------------------------------
操作完成,請按任意鍵退出...
------------------------------------------------------------------
C:\Users\11111> docker version
Client:
Version: 19.03.1
API version: 1.40
Go version: go1.12.7
Git commit: 74b1e89e8a
Built: Wed Jul 31 15:18:18 2019
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 15:50:54 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
PS C:\Users\12623> dockerip
-----------------------------------------------------------------
修改docker遠程服務器地址
-----------------------------------------------------------------
0 localhost
1 192.168.0.1:2375
2 192.168.0.2:2375
請輸入待設置ip編號,按回車鍵確認: 0
輸入有效,即將替換遠程docker地址為"localhost"
-----------------------------------------------------------------
操作完成,請按任意鍵退出...
------------------------------------------------------------------
C:\Users\11111> docker version
Client:
Version: 19.03.1
API version: 1.40
Go version: go1.12.7
Git commit: 74b1e89e8a
Built: Wed Jul 31 15:18:18 2019
OS/Arch: windows/amd64
Experimental: false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This er
ror may also indicate that the docker daemon is not running.