Win 10:
Docker下载地址为:
https://store.docker.com/editions/community/docker-ce-desktop-windows
下载完成后打开,安装过程中会创建新的系统账号,杀软可能会报错,如果阻止Docker创建系统账号,则可能会导致Docker安装失败,安装成功时界面如下:
安装报错解决:
- Hardware assisted virtualization and data execution protection must be enabled
a. 首先确保主板bios已使能虚拟化支持(vt),若自己的虚拟机软件可正常工作,说明早已使能。
b. docker desktop 基于windows hyper-v,必须确保hyper-v组件已经开启。可通过如下PowerShell (管理员身份)命令启动。
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
c. hyper-v组件开启后,需确保其守护进程自动运行(我问题出在这里,守护进程没有运行),可通过如下PowerShell(管理员身份) 命令启动:
bcdedit /set hypervisorlaunchtype auto
d. 重启电脑,启动docker desktop,应该可正常运行。
安装完成后检查是否安装成功:
在cmd中运行docker version,成功后如下图所示
更换镜像源地址:
中国官方镜像源地址为:https://registry.docker-cn.com
在托盘处右击docker图标并选择Settings,然后修改镜像源地址,然后点击apply,之后会重启docker;更改镜像源地址如图:
启动Docker:
点击apply后重启docker,待docker重启完成后在cmd中执行 docker run hello-world 命令,看到下图则表示安装成功了:
Ubuntu 1804安装docker
更换国内软件源,推荐中国科技大学的源,稳定速度快(可选)
- sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- sudo sed -i ‘s/archive.ubuntu.com/mirrors.ustc.edu.cn/g’
- /etc/apt/sources.list
- sudo apt update
安装需要的包
- sudo apt install apt-transport-https ca-certificates software-properties-common curl
添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例
- curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository “deb [arch=amd64] https://mirrors.ustc.edu.cn/dockerce/linux/ubuntu \ $(lsb_release -cs) stable”
添加成功后更新软件包缓存
- sudo apt update
安装 Docker-ce
- sudo apt install docker-ce
设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)
- sudo systemctl enable docker
- sudo systemctl start docker
测试运行
- sudo docker run hello-world
添加当前用户到 docker 用户组,可以不用 sudo 运行 docker(可选)
- sudo groupadd docker
- sudo usermod -aG docker $USER
测试添加用户组(可选)
- docker run hello-world
注:如果Ubuntu 1804是win10子系统,会有如下报错(在执行第6、7步前先执行下面红色字体即可避免):
在第7步报错如下:
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See ‘docker run --help’.
解决方法-在终端执行:
- sudo systemctl start docker
- sudo service docker restart
- sudo service docker status (should see active (running))
- sudo docker run hello-world
在执行上述第一行命令时,又会报如下错误:
System has not been booted with systemd as init system (PID 1). Can’t operate.
解决方案(参考链接):在.bashrc中添加以下命令,然后执行source .bashrc:
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
alias docker=docker.exe
alias docker-compose=docker-compose.exe