Skip to content

Docker 常用命令

换源

sudo vim /etc/docker/daemon.json

代理设置

创建目录

mkdir /etc/systemd/system/docker.service.d

新建文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

# 写入代理配置
[Service]
Environment="HTTP_PROXY=http://username:password@192.168.1.1:8080/"
Environment="HTTPS_PROXY=https://username:password@192.168.1.1:8080/"
Environment="NO_PROXY= hostname.example.com,172.16.0.12"

重启服务

systemctl daemon-reload
systemctl restart docker
# 验证
systemctl show docker --property Environment

常用

# 查看docker image id
docker images
# 查看正在运行的docker容器
docker ps
# 进入某个docker容器
docker exec -it [容器id] bash
# 以root登录容器
docker exec -u root -it [容器id] bash
# 容器中nginx配置文件路径
/etc/nginx/conf.d/default.conf
# 复制docker容器下文件
docker cp [需要复制的文件] [粘贴的位置]
# 重载单个容器的nginx配置
docker exec [容器id] nginx -s reload
# 查看某个容器的映射
docker inspect container_name | grep Mounts -A 20
# container_name是容器名也可以输入容器ID
# 20是从Mounts找到第20行输出
# 镜像迁移
# 导出
docker save image-name:tag > images-name.gz
# 导入
docker load < images-name.gz
# 容器迁移
# 导出
docker export container-name | gzip > container-name.gz
# 导入
cat container-name.gz | docker import - image-name:v1.0
# 利用commit重构镜像
docker stop container01

docker commit container01 new_image:tag

docker run --name container02 -p 80:80 new_image:tag
# 查看容器日志
docker logs --tail 10 [container id]
sudo docker run -itd --restart always -p 8765:8765 --name mcs_middle_server -v ~/mcs-koa-server:/code/mcs-koa-server node:15.9.0

-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d 运行后返回容器ID
-p 端口映射
--name 容器名
--net 容器使用网络
-v 目录映射

dockerfile指令

FROM 指定基础镜像
ENV 配置环境变量
WORKDIR 指定工作目录
COPY 拷贝 package.json 等配置文件到工作目录
RUN 执行命令安装依赖
COPY 拷贝项目文件 app.js 等到指定工作目录
EXPOSE 对外暴露 8888 端口
CMD 执行命令启动项目
ENTRYPOINT 入口点

Docker compose常用指令

# 以后台模式建立compose
docker-compose up -d
# 停止compose并删除对应本地构建的镜像
docker-compose down --rmi local

基于 MIT 许可发布