docker相关命令

August 4, 2024 by diss

安装Docker、Docker-compose

更新、安装必备软件

apt-get update && apt-get install -y wget vim

非大陆Docker安装

wget -qO- get.docker.com | bash

注意:出现sudo: unable to resolve host [hostname],可以编辑nano /etc/hosts然后在

image-20211205144134019

localhost后面空一格,再打上[hostname]你对应的hostname内容。

查看Docker版本

docker -v

开机自动启动

systemctl enable docker

卸载Docker

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

非大陆Docker-compose安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

image-20211205144336324

大陆内地的服务器安装请见这边:国内机安装docker

修改Docker配置(来自烧饼博客

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

然后重启 Docker 服务:

systemctl restart docker

6、文件管理

强烈建议大家专门给Docker的数据、配置文件新建一个文件夹,

mkdir -p data/docker_data

这样如果换服务器或者想要备份,都会很方便。

image-20211205144543041
image-20211205144822664
image-20211205145020493

这边我们以之前搭建过的minimalist为例子【好玩的Docker项目】搭建一个简洁的记事本——minimalist-web-notepad

来简单讲讲。

首先进入我们创建好的文件夹下,

image-20211205145334845

运行,

wget https://github.com/pereorga/minimalist-web-notepad/archive/refs/heads/docker.zip

image-20211205145659238

然后

image-20211205145715475

没有unzip,我们就安装一个

apt install unzip

再运行

unzip docker.zip

image-20211205145834093

cd minimalist-web-notepad-docker/

建立镜像,

docker build -t minimalist-web-notepad .

安装minimalist,

docker run -d -it --restart=always --name minimalist-web-notepad -v /root/data/docker_data/minimalist/minimalist-data:/var/www/html/_tmp -p 8006:80 minimalist-web-notepad

注意这里的映射路径,我们改成了刚前面创建的路径/root/data/docker_data/minimalist

这样你的东西就都在这边啦。

image-20211205150144574

一般来说,看到这一长串的东西,就说明创建成功啦。

由于Debian是本身开放所有端口的,所以直接访问即可,但是因为我们是腾讯云轻量服务器,后台默认还有一个防火墙,我们需要登陆把后台的防火墙里的8006端口打开(对应docker命令的8006:80),这样就能访问了。

image-20211205150839451
image-20211205150902745
image-20211205150938302

当然你要是觉得麻烦,也可以直接填ALL,这样就开放所有端口了,以后就不用每次来设置了,但是不推荐。

image-20211205151012846

然后我还非常推荐你再建立一个txt文件,记录这条docker命令。

nano config.txt

然后输入前面的命令,

docker run -d -it --restart=always --name minimalist-web-notepad -v /root/data/docker_data/minimalist/minimalist-data:/var/www/html/_tmp -p 8006:80 minimalist-web-notepad

Ctrl+x退出,按y确认,回车。

image-20211205150658729

用IP+端口就可以访问了!

问题来了,之前我们都是通过宝塔面板上面建立一个空壳站点,然后修改配置文件来进行反向代理的,这下没有了宝塔面板,要怎么搞?

难道要手动去修改nginx的配置文件吗?

我还得安装一个nginx?感觉好麻烦啊!

image-20211205151425693

不!下期将介绍一个非常牛逼的工具,可以让你只要点击几下鼠标就能非常轻松完成反向代理,当然它自身也是基于Docker搭建的 ^ ^

所以暂时先憋着,丑就丑一点,我们下期视频来处理这个事情。

7、备份数据

参考这篇:如何备份Docker数据?(以Bitwarden为例)

添加新评论