Windows11下Docker使用记录(二)

Docker使用记录(二)

    • [1. 常用指令](#1. 常用指令)
    • [2. Dockerfile示例](#2. Dockerfile示例)
    • [3. 构建docker image](#3. 构建docker image)

Docker中container,image,dockerfile

以及docker hub的关系如图所示,详细可见上一篇帖子。

本文主要记录Dockerfile相关。

1. 常用指令

常用指令(默认大写) 功能
FROM 指定基础镜像,位于Dockerfile第一行(必须有)FROM ubuntu:16.04
MAINTAINER 指定维护者信息(可以不写)MAINTAINER "test<test@outlook.com>"
COPY 和ADD相似,复制host中内容(必须与Dockerfile同级)至image指定路径中。COPY index.html /data/web/html/
ADD 同上。此外 ,如果source是URL或压缩包,会自动下载或自动解压 ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
WORKDIR 设置当前工作目录,为RUN,CMD等设置工作目录
ENV 定义所需的环境变量
RUN docker build过程中运行的程序,可以是任何命令 RUN cd ./src
EXPOSE 声明容器运行的服务端口,有tcp(默认)和udp EXPOSE 90/tcp
CMD 指定容器启动后默认运行的程序,CMD /usr/sbin/sshd -D(可以不写)

2. Dockerfile示例

python 复制代码
FROM ubuntu:16.04

# install ROS kinetic
RUN apt-get update \
    && apt-get -y install curl \
    && sh -c 'echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list' \
    && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - \
    && apt-get update \
    && apt-get -y install ros-kinetic-desktop-full \
    && echo "source /opt/ros/kinetic/setup.bash" >> /etc/bash.bashrc \
    && /bin/bash -c '. /etc/bash.bashrc' \
    && apt-get -y install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential \
    && rosdep init \
    && rosdep update 
# create catkin_ws
RUN mkdir -p ~/catkin_ws/src \
    && cd ~/catkin_ws \
    # # ...
    # # do what you need to do for example git clone something into ~/catkin_ws/src
    # # ...
    && /bin/bash -c '. /opt/ros/kinetic/setup.bash; cd ~/catkin_ws; catkin_make; . ./devel/setup.bash'

3. 构建docker image

docker build
. 非常重要

bash 复制代码
docker build -t ubuntu-16.04:kinetic .

保存docker image至本地tar文件

bash 复制代码
docker save -o ubuntu-16.04:kinetic kinetic.tar

加载 tar文件到镜像

bash 复制代码
docker load -i kinetic.tar

参考文献:
1. https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html
2. https://www.cnblogs.com/along21/p/10243761.html
3. http://t.csdnimg.cn/itVtL
4. http://t.csdnimg.cn/brVnu

相关推荐
高旭博13 小时前
7. kubernetes资源——service服务
云原生·容器·kubernetes
斯普信专业组13 小时前
Docker 常用命令与时区配置指南
docker·容器·eureka
天一生水water1 天前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
Qayrup1 天前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
郭庆汝1 天前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵1 天前
Ubuntu24.04安装Docker过程记录
docker
黑黍1 天前
如何在k8s中配置并使用nvidia显卡
云原生·容器·kubernetes
冷血~多好1 天前
使用docker部署elk,实现日志追踪
elk·docker·容器
会飞的小蛮猪1 天前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking