Docker 常用命令

本文详细介绍了Docker的常用命令,包括镜像导出与导入、重命名、打标签、启动容器、容器内操作、镜像修改和创建,以及一个Dockerfile实例,展示了如何基于基础镜像构建定制化镜像。
摘要由CSDN通过智能技术生成

镜像导出和导入

将镜像导出到本地,再上传至别的服务器导入
使用 docker save 导出镜像:

docker save -o <output_file_name>.tar <image_name>

使用 docker load 导入镜像:

docker load -i <input_file_name>.tar

重命名镜像

使用 docker tag 命令重命名镜像:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

给镜像打标签

使用 docker tag 命令给镜像打上标签,即为其命名:

docker tag IMAGE_ID NEW_IMAGE_NAME[:TAG]

启动镜像

docker run -it my_image /bin/bash
docker run -it -u 0 my_image /bin/bash    # 以root用户启动容器
docker run -v ${workspace}:${workspace} my_image:v1 /bin/bash -c "cd script && ./build.sh"

-d, --detach:在后台模式下运行容器。
-it, --interactive --tty:以交互式方式运行容器,并分配一个伪终端(pseudo-TTY)。
--name:为容器指定一个名称。
-v, --volume:挂载主机文件系统的目录到容器内部。

进入容器

docker exec -it my_container /bin/bash

-d, --detach:在后台模式下运行命令。
-i, --interactive:保持标准输入打开,允许交互式输入。
-t, --tty:为命令分配一个伪终端(pseudo-TTY)。

镜像修改

这将创建一个名为 my_image 的新镜像,带有 latest 标签,它的内容是 my_container 容器当前的状态。

docker commit my_container my_image:latest

-a, --author:指定镜像的作者信息。
-c, --change:在提交镜像时应用 Dockerfile 中的指令。这允许你在提交镜像时修改容器的配置。
-m, --message:为提交的镜像指定一条描述性的信息。

创建镜像

根据 Dockerfile 创建镜像,和 Dockerfile 同级目录下执行:

docker build -t my_image:v1 .

Dockerfile 实例

FROM ubuntu:16.04

MAINTAINER xxx "xxx@xx.com"

# 更换Ubuntu镜像源为阿里云 
COPY sources.list /etc/apt/sources.list 
RUN chmod 644 /etc/apt/sources.list

# 设置 locale
RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
        && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 
ENV LANG en_US.utf8

# 安装
RUN rm /bin/sh && ln -s /bin/bash /bin/sh \ 
&& dpkg --add-architecture i386 \ 
&& apt update \ 
&& apt install -y python git fakeroot zlib1g-dev libmagickwand-dev python-pip vim lib32z1 lib32ncurses5 libbz2-1.0:i386  squashfs-tools mtd-utils autoconf automake texinfo autopoint bison flex  liblz4-tool u-boot-tools bc rsync zip tar \ 
&& pip install Wand \ 
&& useradd --user-group --create-home --no-log-init --shell /bin/bash username

COPY script ~/script 
RUN chown -R username:username ~/script

COPY build-wrapper-linux-x86 /opt/build-wrapper-linux-x86 
COPY sonar-scanner-4.8.0.2856-linux /opt/sonar-scanner-4.8.0.2856-linux 
COPY nodejs /opt/nodejs

ENV PATH /opt/nodejs/bin:/opt/sonar-scanner-4.8.0.2856-linux/bin:/opt/build-wrapper-linux-x86:$PATH

USER username WORKDIR /home/username
RUN mkdir -p project
  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值