Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

注意:docker官网在国外,我是基于境外centos7安装的,众所周知,国内网速可能比较慢,建议换源或者使用代理。

安装docker

此处参考

连接Linux这些操作就不来了,不还还有人不会ssh连接Linux吧,不会吧,不会吧

docker 修改 源为阿里源_docker 修改 源为阿里源

docker 修改 源为阿里源_docker 修改 源为阿里源

我是在Centos7进行安装,可以使用以下命令查看CentOS版本

lsb_release -a

在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看

uname -r

查看是否已安装docker列表

yum list installed | grep docker

安装docker

yum -y install docker

-y表示不询问安装,直到安装成功,安装完后再次查看安装列表

或者使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

启动docker

启动docker

systemctl start docker

查看docker服务状态

systemctl status docker

测试是否启动成功, 可以输入docker, 输出

Usage:  docker [OPTIONS] COMMANDA self-sufficient runtime for containersOptions:      xxxxxxxxxxRun 'docker COMMAND --help' for more information on a command.

则为成功启动。

拉取docker镜像

这里就是docker为什么那么好用的关键部分了!!!

比如,我要配置python环境,

我只需要打开https://hub.docker.com/_/python?tab=tags,找到我要配置的版本,比如python3.7,那么,我只需要输入

docker pull python:3.7

然后等待拉取安装即可。

又比如,我心心念念的golang环境,也是通过docker配置好的。输入docker pull golang,就会拉取最新的golang版本,也就是等效于docker pull golang:latest

你没猜错,就是形如docker pull ,不加tag时就默认为latest

然后输入docker images,就可以看到我拉取的镜像的列表。

REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZEhello-world                     latest              bf756fb1ae65        6 months ago        13.3kBpython                          3.7                 22c70bba8283        5 days ago          920MBgolang                          latest              a794da9351a3        5 days ago          810MB

官方还提供了很多镜像库,可以前往docker镜像库地址:

https://hub.docker.com/

连接docker的坑

此处有几个坑,

仔细记好哦,

第一,如果你之前安装并配置了vm虚拟机,那么,就需要在Windows的设置当中,关掉其他的网络连接,否则会连接不上docker(无论是本机的docker还是远程服务器上的docker都连接不上).

第二,如果你是在Windows本地上安装的docker-desktop,那么请在设置的General中勾选Expose daemon on tcp://localhost:2375 without TLS

第三,配置你的防火墙,也就是当运行时Windows防火墙会弹出一个窗口,询问是否允许其通过,请选择允许。

至于具体的jetbrains系列的ide如何连接docker,可以参考:

http://coding.laiczhang.com/2020/07/%E8%AE%B0%E5%BD%95%E5%88%9D%E5%AD%A6docker%E8%B8%A9%E7%9A%84%E5%9D%91/