前言
本教程經過win10下的docker實現,過程簡單,不須要本身進行破解,同時是經過wsl方式實現,比虛擬機效率會更加高一些。html
鏡像是由網友製做的,eetop連接爲:http://bbs.eetop.cn/thread-883833-1-1.htmlweb
僅供我的學習使用面試
win10下安裝docker
在官網找到win10的docker安裝包,進行安裝docker
https://docs.docker.com/docker-for-windows/install/ubuntu
下載穩定版便可windows

使用前要安裝wsl2,做爲docker在win10下的後端支持後端
https://docs.microsoft.com/en-us/windows/wsl/install-win10bash

下載好之後直接雙擊安裝便可微信
docker配置
在拉取鏡像以前,先爲docker設置鏡像加速器,推薦阿里雲的docker鏡像加速服務編輯器
https://cn.aliyun.com/
註冊之後,進入控制檯,容器鏡像服務->鏡像加速器

而後打開docker的設置界面,Docker Engine,將剛剛的連接複製到下面

應用並重啓便可。
默認的docker的目錄是在c盤下的,鏡像未來會佔用c盤空間,接下來移動docker的目錄
首先關閉docker,而後建立一個目錄D:\SoftwareData\wsl\docker-desktop-data
打開cmd,wsl -l -v
能夠看到由有兩個docker,咱們只須要移動第二個就能夠了

依次執行,
wsl --shutdown
wsl --export docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar
檢查如下目標目錄有沒有生成對應的文件docker-desktop-data.tar

wsl --unregister docker-desktop-data
wsl --import docker-desktop-data D:\SoftwareData\wsl\docker-desktop-data\ D:\SoftwareData\wsl\docker-desktop-data\docker-desktop-data.tar --version 2
移動完成
啓動docker容器
經過開始菜單啓動docker之後,打開cmd,拉取鏡像docker pull phyzli/ubuntu18.04_xfce4_vnc4server_synopsys2016
大概有十幾G,耐心等待。

鏡像拉取完畢之後,啓動鏡像docker run -it -p 5902:5902 --hostname lizhen --mac-address 02:42:ac:11:00:02 -v //d/mydata:/mnt/mydata phyzli/ubuntu18.04_xfce4_vnc4server_synopsys2016
-p 5902:5902
是進行端口映射,--hostname lizhen --mac-address 02:42:ac:11:00:02
是在配置主機名和mac地址,和license綁定的,不能修改。-v //d/mydata:/mnt/mydata
是將win10下的目錄//d/mydata
掛載到容器的/mnt/mydata
上,便於數據交換。
進入到容器內部之後就可使用了,每次進入都須要使用命令lmgrd
激活license

測試一下vcs是否正常,進入到咱們掛載的目錄mnt/mydata
,下面是tb.sv
的內容
module tb ();
initial begin
$display("hello vcs");
end
endmodule
vcs tb.sv
進行編譯,而後./simv
進行仿真

接下來試一下vnc遠程桌面,經過命令vncserver -geometry 1920x1080 :2
在容器內啓動vnc

而後回到cmd,ipconfig
查看虛擬機的ip

win10中打開vncviewer,配置鏈接,填入剛剛的ipv4地址,端口是5902

進行鏈接,鏈接密碼爲zhenchen

進入圖形化界面

下面試一下vcs和verdi的聯合仿真,一樣仍是前面的tb.sv
vcs tb.sv -debug_all -lca -kdb
./simv -gui=verdi

其餘
在進入容器後,直接exit
會退出容器,若是在啓動容器時加上-d
,容器會在後臺繼續運行
經過docker ps -a
能夠查看容器的狀態

若是想要再啓動容器,能夠經過docker start ee
啓動容器,ee
是容器ID的前兩位,不用所有打完也能夠
啓動容器後若是要進入容器,經過指令docker exec -it ee bash
就能進入了

刪除容器能夠經過指令docker rm -f ee
,刪除容器不會把前面掛載的文件夾刪除,不用擔憂
本文分享自微信公衆號 - 摸魚範式(icparadigm)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。