文章目录
加速器
Docker
教程
引用华哥的一句话:Docker就是进程级别的虚拟机。确实
Docker 教程
对于Dockerfile中CMD
指令的解释,相当于这个容器的主程序入口,就像主程序那样的,在容器启动之后会运行CMD
指令。然后教程中提到了CMD
指令有三种形式。
第一种是CMD <shell 命令>
,第二种是CMD ["<可执行文件或命令>","<param1>","<param2>",...]
,这两种功能查不太多,只不过就是第二种拆开了。
第三种:CMD ["<param1>","<param2>",...]
这种方式只有参数,没有指令,CMD
只用于记录参数,而指令是用ENTRYPOINT
来记录的。例如ENTRYPOINT ["nginx", "-c"] # 定参 CMD ["/etc/nginx/nginx.conf"] # 变参
安装
Docker 极速下载
Docker CE镜像
docker镜像加速器
Docker Hub 镜像加速器
Install Docker Desktop on Ubuntu
ubuntu的桌面客户端,runs in a vm,docker的使用有两种方式,一种是直接使用docker-ce运行docker 引擎,一种是使用desktop(底层是又新建了一个vm,所有容器运行在这个vm里)使用界面的模式。Docker Desktop for Linux stores containers and images in an isolated storage location within a VM and offers controls to restrict its resources.
ubuntu上desktop依赖这几个包:qemu-system-x86、docker-ce-cli、pass、uidmap,其中docker-ce-cli不在aliyun的apt-get镜像内,需要按照Docker-CE的安装流程配置镜像,然后apt-get install docker-ce-cli
折腾了半天,没安装成docker-desktop,还是老老实实用docker-ce了
坑
安装完之后要重启一下,因为如果要用到docker映射网络,那么需要创建一张虚拟网卡,然后给这个网卡分配一个网段,但是未重启的时候,默认没看到这个网段(通过ip a/ifconfig来看网卡内容),我安装完docker之后没有重启,ifconfig
命令没有发现docker0
的网卡,并且ip a
虽然返回了一个docker0
,但是没有ip,如下所示
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:d7:4f:d2:eb brd ff:ff:ff:ff:ff:ff
因此宿主机访问不了容器的端口与网络,但有趣的事,重启一下就好了= =
上述内容收到DOCKER默认虚拟网卡IP地址与局域网冲突解决的启发
v2023/2/27更新,怀疑是和vmware挂起虚拟机有关,挂起虚拟机重新恢复后就会找不到网卡,重启就好了。
volumn
# 当你映射数据卷时,如果数据卷不存在。Docker会帮你自动创建
docker r