docker 操作笔记

1.Docker 创建ubuntu系统更换 apt-get源

创建Dockerfile并且更新apt源

在Dockerfile中添加如下两句代码:

RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  apt-get clean

 

Dockerfile 文件

FROM ubuntu:latest
MAINTAINER itdream "itdream6@163.com"
RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN  apt-get clean
RUN apt-get update
RUN apt-get install sudo
RUN apt-get install vim
RUN apt-get install curl
RUN apt-get install wget
sudo apt install systemctl
RUN curl -sSL https://get.daocloud.io/docker | sh

 

查看所有的容器命令如下:

sudo docker ps -a

 

 

 

 

进入某个容器

docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

docker exec -it 8282cf35de22 /bin/bash

 

2.镜像打包

docker save ubuntu:22.04 > ubuntu.tar

3.镜像导入

docker load < ubuntu.tar

 

4.docker 删除已停止的容器

根据容器的状态,删除Exited状态的容器

#根据容器的状态,删除Exited状态的容器
 sudo docker rm $(sudo docker ps -qf status=exited)

# 删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
sudo docker rm $(sudo docker ps -a -q)


#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
sudo docker ps -a|grep Exited|awk '{print $1}'


#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

手动清理 Docker 镜像/容器/数据卷
对于旧版的 Docker(版本 1.13 之前),是没有 docker system 命令的,因此需要进行手动清理。这里给出几个常用的命
删除所有关闭的容器
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

删除所有 dangling 镜像(即无 tag 的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

删除所有 dangling 数据卷(即无用的 volume):
docker volume rm $(docker volume ls -qf dangling=true)

 

 

 

6.镜像创建容器

docker run -t -i ubuntu:15.10 /bin/bash

 

 

docker删除镜像

使用一段时间之后,可能堆积很多用不着的,或者编译错误的镜像,一个一个删除就很麻烦,需要一个批量删除的方法

docker rmi $(docker images | grep "latest" | awk '{print $3}') 

7.后台启动容器

docker run -itd --name ubuntu-test ubuntu /bin/bash

8.进入容器

docker exec -it 243c32535da7 /bin/bash

9.主宿机器和容器之间互相copy文件

# 容器copy到宿主机器 3c9bf1be70d3为容器id
sudo docker cp 3c9bf1be70d3:/train/123.txt .

# 宿主机器copy到容器
docker cp auto.sh 3c9bf1be70d3:/train/

 

10.镜像打包

# Docker 进入容器
sudo docker run -t -i smy20011/dreambooth:mmqi.1.2 /bin/bash

# 容器打包
sudo docker commit 0d5f160e393f smy20011/dreambooth:mmqi.1.2.1

 

11.dockerfile 编写

FROM ubuntu:22.04

# 更换 apt-get 源为中国源
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list

# 安装必要的工具和 Python3.10
RUN apt-get update && \
    apt-get install -y python3.10 && \
    apt-get install -y python3-pip && \
    apt-get install -y wget && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 更换pip安装源为中国源
RUN mkdir ~/.pip && \
    echo '[global]' > ~/.pip/pip.conf && \
    echo 'index-url = https://pypi.mirrors.ustc.edu.cn/simple/' >> ~/.pip/pip.conf

CMD ["/bin/bash"]

执行

docker build -t my-ubuntu-python:1.0 .

 

posted on 2023-02-23 18:05  星河赵  阅读(112)  评论(0编辑  收藏  举报

导航