基本用法
1 | docker run -it xxx /bin/bash |
自动重启
1 | docker run --restart=always xxxx |
环境变量
1 | docker run xxxx -e TZ=Asia/Shanghai |
以某个用户名启动
1 | docker run -u root |
指定用户进入 shell
1 | docker exec -it -u root xxx bash |
默认是 root, 有时候希望不是
1 | docker run -it --user $(id -u ${USER}):$(id -g ${USER}) xxx |
默认 root 有些权限用不了
1 | docker run -it --privileged xxx |
清理
1 | truncate -s 0 /var/lib/docker/containers/*/*.log |
查看资源
查看 cpu,内存等等
1 | docker stats |
构建
1 | docker build -t xxx ./ --no-cache |
构建时使用变量
多阶段构建,需要在每个阶段都写一遍
1 | ARG MIX_ENV |
例子
Dockerfile
1 | # 构建阶段 |
构建
1 | docker build --build-arg MIX_ENV=test -t demo ../ --no-cache |
同步时区
构建时
DockerFile
1 | RUN rm -f /etc/localtime \ |
运行时
1 | docker run xxx -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai |
或者
1 | docker run xxx -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -e TZ=Asia/Shanghai |
自定义存储路径
ntfs 分区不支持
1 | /etc/docker/daemon.json |
1 | { |
导入导出
容器保存为 tar,比 save 保存的文件小很多
1 | docker export ${CONTAINER_ID} > xxx.tar |
从容器 tar 还原为 image
1 | docker import xxx.tar image_name:tag |
当前容器直接保存为 image
1 | docker commit ${CONTAINER_ID} image_name:tag |
保存 image 为 tar 包,使用 tag 保存,不然 load 的时候,会显示 <none>
1 | docker save -o xxx.tar redis:5.0.0 |
tar 包还原为 image,不可以重命名,这里的 tar 是指docker images保存出的 tar
1 | docker load -i xxx.tar |