docker:

改源

1
2
3
4
/etc/docker/daemon.json

docker images
docker image ls

下载镜像

1
$ docker pull ImageName:x.x.x(版本号)

执行如下命令可以运行一个 Ubuntu 的容器。

1
2
3
4
5
6
7
8
9
10
11
docker run --name ubuntu_demo -itd ubuntu:22.04

–name ubuntu_demo 表示给运行的窗口取名为 ubuntu_demo

-i 表示 interactive 可交互的,变即可以从标准输入与容器交互。

-t 表示给容器分配一个虚拟终端。

-d 这个参数表示的是在后台运行,即 –deamon。

ubuntu 表示的是运行容器所使用的镜像名称。

查看运行容器

1
$ docker ps -a | grep ubuntu_demo

进入容器

1
2
3
4
5
6
$ docker exec -it ubuntu_demo /bin/bash

# 换成阿里源
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
$ sudo vim /etc/apt/sources.list
http://mirrors.aliyun.com/ubuntu/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 更新 apt-get 工具,这个步骤优先级最高,因为不更新很多组件安装不了。另外,可以使用 apt-get 命令简写 apt 来执行安装,效果相同。 
$ apt-get update

# 安装 vim 工具,初始系统中连 vi 都没有,显然很需要。
$ apt install vim

# 安装 wget 工具,如果你需要从网络上下载资源
$ apt install wget

# 安装 curl 工具,如果你需要使用 curl 来访问网络资源
$ apt install curl

# 如果你需要使用网络工具,比如 ifconfig 等,安装 net-tools
$ apt install net-tools

# 如果需要使用 telnet,安装 telnet
$ apt install telnet

使用docker inspect命令查看镜像详细信息

1
$ docker inspect [NAME]/[CONTAINER ID

服务器重启后,docker服务重启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 容器未启动时,添加该参数
$ docker run --restart=always <image>

# 容器已启动时
$ docker update --restart=always <CONTAINER ID>

# 尝试重启10次,都失败就不再尝试重启
$ docker run --restart=on-failure:10 <image>

# 尝试重启10次,都失败就不再尝试重启
$ docker update --restart=on-failure:10 <CONTAINER ID>


--restart具体参数值详细信息:

no - 容器退出时,不重启容器;

on-failure - 只有在非0状态退出时才从新启动容器;

always - 无论退出状态是如何,都重启容器;
还可以在使用on-failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器

容器重命名

1
docker rename CONTAINER_NAME new_CONTAINER_NAME

容器打包成镜像

1
2
3
4
5
6
7
8
# docker commit -a "xld" -m "container to image" -p [要打包的容器名称] [镜像名称:版本号] 
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS:
-a : 提交的镜像作者
-c : 使用Dockerfile指令来创建镜像
-m : 提交时的说明文字
-p : 在commit时,将容器暂停

镜像打包成压缩包

1
2
3
4
5
6
7
8
9
docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS:
-o : 用于指定输出的文件名称

eg: docker save -o IMAGE_NAME.tar.gz [镜像名称]

默认为文件流输出:
docker save [镜像名称] > 输出路径/XXX.tar.gz

导入镜像压缩包

1
2
3
4
5
6
7
8
docker load < [文件路径]



docker load [OPTIONS]
-i : 选项指定输入文件路径

eg: docker load -i [文件路径]

上传镜像

  1. https://hub.docker.com/ 创建个人仓库

  2. 创建镜像

    docker build -t username/IMAGE_NAME

  3. 给镜像打标签

    1
    2
    docker tag [IMAGEID | IMAGE_NAME] REPOSITORY:TAG
    docker tag irext tenyding/irext:latest
  4. 登录帐号

    docker login

  5. push 镜像

    1
    2
    docker push new-repo:tagname
    docker push tenyding/irext-aarch64:latest

docker 常用命令详解




1. twikoo 压缩打包备份 & docker重启

1
2
3
4
5
6
7
8
9
10
# 将 twikoo目录 压缩打包成 twikoo.20230118.tar.gz 文件
$ tar -zcvf twikoo.20230118.tar.gz twikoo

# 启动docker
$ sudo docker run --name twikoo -e TWIKOO_THROTTLE=250 -p 8080:8080 -v /home/ubuntu/blog/twikoo/data:/app/data -d imaegoo/twikoo

# 如果说‘The container name "/twikoo" is already in use by container ’
$ sudo docker ps -a # 查看容器
$ sudo docker start containerID # 重新打开这个twikoo容器即可