安工-天池Docker训练营Docker安装及基本命令

本文介绍了Docker在Linux、Windows10和MacOS上的安装方法,并详细讲解了Docker的基础命令,包括拉取和运行镜像、查看镜像和容器状态等。此外还提供了Dockerfile示例和构建镜像的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安工-天池Docker训练营Docker安装及基本命令

本学习笔记为阿里云天池龙珠计划Docker训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampdocker

一、学习知识点摘要

  1. Linux 、Windows 10 和 MacOS 上的安装。
  2. docker 基础命令学习

二、学习内容

1 拉取镜像

docker pull [选项][docker镜像地址:标签]

2 运行镜像

$ docker run hello-world

Hello from Docker! This message shows that your installation appears
to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
    (amd64)
  3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

3 运行镜像并进入容器

$ docker run -it --rm ubuntu:18.04 bash root@e7009c6ce357:/# uname -a
Linux bff9f261bab2 4.15.0-106-generic #107-Ubuntu SMP Thu Jun 4
11:27:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux root@e7009c6ce357:/#
exit

4查看本地镜像(list 镜像)

$ docker images REPOSITORY TAG IMAGE ID
CREATED SIZE redis latest
5f515359c7f8 5 days ago 183 MB nginx
latest 05a60462f8ba 5 days ago 181 MB

5 查看运行中的容器

$ docker ps CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES 9363b1b51118
testlog:1 “bash” 7 weeks ago Up 7 weeks vigilant_bhaskara

6 进入运行中/后台运行的容器

$ docker exec -it [CONTAINER ID] /bin/bash

7保存修改

docker commit [CONTAINER ID]registry.cn-shanghai.aliyuncs.com/test/pytorch:myversion

8 打TAG

有时需要对临时版本,或者节点版本做一个标记保留,打TAG标签非常好用,并不会额外占用空间

docker tag registry.cn-shanghai.aliyuncs.com/test/pytorch:myversion my_tmp_version:0.1

9推送镜像到仓库

docker push registry.cn-shanghai.aliyuncs.com/test/pytorch:myversion

10使用dockerfile构建镜像

Dockerfile示例(注意一般文件名命名为Dockerfile 无后缀名,如果命名为其他名字,构建时需要额外指定文件名)

Base Images

从天池基础镜像构建(from的base img 根据自己的需要更换,建议使用天池open list镜像链接:https://tianchi.aliyun.com/forum/postDetail?postId=67720)
FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
##安装依赖包
RUN pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
##或者从requirements.txt安装
##RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
把当前文件夹里的文件构建到镜像的根目录下,并设置为默认工作目录
ADD . /
WORKDIR /
镜像启动后统一执行 sh run.sh
CMD [“sh”, “run.sh”]

11 构建镜像

docker build -t registry.cn-shanghai.aliyuncs.com/target:test .

12删除镜像/容器

  1. 删除镜像:

docker rmi registry.cn-shanghai.aliyuncs.com/target:test

  1. 删除容器:

docker rm [CONTAINER ID]

  1. 如果容器还在运行,则会删除失败,应先结束掉容器:

docker kill [CONTAINER ID]

  1. 查看运行中的容器:

docker ps

  1. 查看所有容器:

docker ps -a

三、学习问题与解答

无法附着到容器,即docker attach没反应
答:可以在容器已经运行的情况下,使用下面命令(注意一定时docker容器已经运行):

docker exec -it CONTAINER ID /bin/bash 或者 docker exec -it NAME /bin/bash

CONTAINER ID和NAME表示已运行的容器ID和容器名;但是这种方式,每执行一个命令,都要在docker容器内开启一个新的进程;

以这种方式切换到容器后,如果通过exit,ctrl+C,ctrl+D方式退出,容器并不会停止运行,所以这是一种比较保险的方式,防止误停止容器运行;

四、学习思考与总结

通过对Docker的初步了解,算是步入了基础的大门。为以后的学习使用提供了一个基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值