本文基于个人实践所写,有误请指出。

新开台机器,免不了一番研究折腾,但对于新手来说,弄得系统重装只需要几分钟。而docker等虚拟化技术的使用,能帮助避免这个问题。

Docker简介

  Docker相当于我们平时常说的虚拟机,通过下载并使用对应的镜像(如win10的操作镜像),就称为一个容器(一个虚拟机),以此来隔离原生系统。在进入容器(虚拟机)后,你在容器中的任何操作都不会影响你的原生系统。

安装

安装完成后记得启用Docker,或者安装后直接重启主机也行。

  • Debian&Ubuntu apt install docker 或者使用snap管理工具: apt install snapd snap install docker (使用snap安装的Docker文件与apt安装的Docker文件位置不相同)

  • Centos系列 dnf install docker 或者 yum install docker

简单的使用介绍与实例

docker run -itd -p 4233:2333 \
           -v /home/web/root:/root/ \
           -v /home/web/nginx/ssl:/root/ssl \
           --name test \
           --hostname test \
           --network web \
           --restart=always \
           ubuntu:latest

上面这段代码启动了一个:有交互终端的、可在后台运行的、6233端口映射到原主机6233端口的、随docker自动重启的、当前最新的ubuntu镜像系统。

这段代码包含了大部分启动docker容器时可能会使用的参数,下面逐一说明。

  1. 启动及启动参数

    • docker run:使用image(镜像)启动一个容器
    • -itd:使用参数-it启动一个交互终端(bash shell等)。-d使该容器后台运行。
    • -p 4233:2333:占用主机一个4233端口使其与容器端口2333绑定,也称之为端口映射。映射后可以通过主机的4233端口访问容器内的2333端口。当你在容器内的2333端口搭建了一个网站,你可以通过ip:4233访问你容器内的网站。
    • -v /home/web/root:/root/:将容器内的/root/下的所有文件映射到主机内的/home/web/root/文件夹内。当在主机中操作映射文件时,容器中对应的文件也会被改变。
    • --name test:容器命名为test。(可用docker ps -a命令查看)
    • --hostname test:容器内的主机名命名为test。(即容器内的用户名)
    • --network web:将容器连接到名为web的docker网络当中。需先创建docker网络docker network create web。可以使不同容器相互连接。
    • --restart=always:容器停止后(意外停止等),自动重启容器。
    • ubuntu:latest:容器使用的镜像。
  2. 常用docker命令

    • docker run:启动容器。
    • docker ps:查看正在运行的容器。
    • docker ps -a:查看全部容器。
    • docker stop test:停止test容器。(类似关机)
    • docker rm test:删除test容器。(删除容器、容器内文件)
    • docker pull ubuntu:latest:拉取(下载)最新的ubuntu稳定版镜像。
    • docker images:列出已有镜像。
    • docker rmi xxxxxxx:删除id为xxxxxxx的镜像。需先删除用到该镜像的容器。
    • docker network --help:docker网络相关操作。

  至此已经囊括docker的基础使用方法。你可以使用docker启动nginx、搭建网站、各类应用、挖矿 等等,且避免影响原主机环境。