使用docker的相关记录
# 问题描述
在使用docker时,有一些之前不知道的操作,记录一下
# 具体细节
1、如果系统中有docker容器正在运行,而又修改了docker的某些配置,需要重新加载时,可以使用live restore模式
在*/etc/docker/daemon.json*文件中,添加
{
"live-restore": true
}
1
2
3
2
3
最终文件内容类似:
{
"registry-mirrors": [
"https://docker.m.ixdev.cn",
"https://docker.1ms.run"
],
"live-restore": true
}
1
2
3
4
5
6
7
2
3
4
5
6
7
接着重新加载,不是重启
sudo systemctl reload docker
1
(不过有些配置不支持这个模式,但是修改镜像源、docker代理是没问题的)
2、docker镜像文件
可以使用Dockerfile构建镜像,内容例子如下:
# 1. 基础镜像 (必须第一行)
FROM ubuntu:18.04
# 2. 环境变量 (ENV 放在前面,方便后续命令使用)
ENV DEBIAN_FRONTEND=noninteractive
# 3. 系统级安装 (RUN 合并成一行,用 \ 续行)
RUN apt-get update && apt-get install -y \
git \
curl \
vim \
&& rm -rf /var/lib/apt/lists/*
# 4. 文件操作 (如果本地有文件)
COPY ./my_script.sh /usr/local/bin/
# 5. 用户创建 (ARG 接收外部变量)
ARG UID=1000
ARG USERNAME=developer
RUN useradd -m -u ${UID} ${USERNAME}
# 6. 切换用户 (USER 必须放在 WORKDIR 前面)
USER ${USERNAME}
WORKDIR /home/${USERNAME}
# 7. 容器默认执行命令 (写在最后,只能有一条)
CMD ["/bin/bash"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
编写好Dockerfile之后,可以使用构建命令构建
docker build -t 你的镜像名 .
1
3、docker进入
如果第一次运行,执行下面命令
docker run [参数] 镜像名 [启动命令]
1
如果要运行的容器是exited状态,使用下面命令启动
docker start crylogger_build03
1
如果docker已经运行了,想要另开终端进入,执行下面命令
docker exec -it <容器名称> /bin/bash
1