1.下载系统镜像(Ubuntu)

2.基于下载的镜像创建容器 (容器名一个为自己名字全拼)

3.容器的启动、 停止及重启操作

4.怎么查看正在运行的容器和所有容器

5.怎么连接及退出容器

6.查看容器或镜像的内部信息

7.操作容器

8.将容器制作成镜像

9.将制作好的镜像打成 tar 包

10.将打包好的 tar 包传给别人

11.接收到 tar 包之后,使用 tar 包

12.使用镜像

1、.从远程仓库拉取一个纯净的 ubuntu系统镜像

[root@master ~]# docker search ubuntu

docker 制作自己的镜像_python

[root@master ~]# docker pull ubuntu

docker 制作自己的镜像_docker_02

2.基于下载的镜像创建容器 (容器名一个为自己名字全拼)

[root@master ~]# docker run --name henry-ubuntu -it ubuntu /bin/bash

docker 制作自己的镜像_ubuntu_03

3.容器的启动、 停止及重启操作

docker start henry-ubuntu       启动命令

docker stop henry-ubuntu        停止命令

docker restart henry-ubuntu     重启命令

docker 制作自己的镜像_ubuntu_04

4.怎么查看正在运行的容器和所有容器

[root@master ~]# docker ps

docker 制作自己的镜像_python_05

5.怎么连接及退出容器;

[root@master ~]# docker exec -it henry-ubuntu /bin/bash

docker 制作自己的镜像_docker_06

root@4b60ff6d62f0:/# exit

exit

[root@master ~]#  

6.查看容器或镜像的内部信息

[root@master ~]# docker inspect henry-ubuntu

docker 制作自己的镜像_docker_07

7.操作容器

在容器中安装 环境 ,我这里安装的是 python3

登录https://www.python.org/downloads/source/,找到对应版本(我们以Python 3.10.12为例)

docker 制作自己的镜像_ubuntu_08

root@4b60ff6d62f0:/# mkdir python

root@4b60ff6d62f0:/# chmod 777 python

root@4b60ff6d62f0:/# cd python/

将文件本地包上传到ubuntu系统创建好的python目录下:

说明:docker cp /路径/文件名 容器ID:/上传路径

[root@master sec-tools]# pwd

/root/sec-tools

[root@master sec-tools]# ls

Python-3.10.12.tgz  safeline

[root@master sec-tools]#  docker cp /root/sec-tools/Python-3.10.12.tgz 4b60ff6d62f0:/python

docker 制作自己的镜像_ubuntu_09

[root@master sec-tools]# docker exec -it henry-ubuntu /bin/bash

root@4b60ff6d62f0:/# ls

bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  python  root  run  sbin  srv  sys  tmp  usr  var

root@4b60ff6d62f0:/# cd python/

root@4b60ff6d62f0:/python# ls

Python-3.10.12.tgz

root@4b60ff6d62f0:/python#  

docker 制作自己的镜像_ubuntu_10

解压压缩包

root@4b60ff6d62f0:/python#  tar -xvf Python-3.10.12.tgz 

docker 制作自己的镜像_docker_11

准备编译环境

root@4b60ff6d62f0:/python# cd Python-3.10.12  

root@4b60ff6d62f0:/python/Python-3.10.12# ./configure --enable-optimizations

docker 制作自己的镜像_python_12

–enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使构建过程变慢

启动Python 构建过程:

make -j 8

为了加快构建时间,请修改-j以使其对应于处理器中的内核数。 您可以通过键入nproc查找编号。

构建过程完成后,输入以下命令安装Python二进制文件:

sudo make altinstall

不要使用标准的make install,因为它将覆盖默认的系统python3二进制文件

python3.8 --version

输出应显示Python版本。

安装好环境之后,退出容器;

root@4b60ff6d62f0:/python/Python-3.10.12# exit

exit

[root@master sec-tools]#  

8.将容器制作成镜像

格式:docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名

docker  commit  -m  'py3'  -a  'henry'  henry-ubuntu  py3-henry-ubuntu

[root@master sec-tools]# docker  commit  -m  'py3'  -a  'henry'  henry-ubuntu  py3-henry-ubuntu

sha256:7dd29570f99cea85ee73fbb6f670ef1c7725198b4eedcfd68520e56eb72af57f

[root@master sec-tools]#  

docker 制作自己的镜像_python_13

9.将制作好的镜像打成 tar 包

格式:docker  save  -o  tar包的名字  镜像名

[root@master sec-tools]# pwd

/root/sec-tools

[root@master sec-tools]# docker save -o /root/sec-tools/py3-ubuntu.tar py3-henry-ubuntu

docker 制作自己的镜像_docker_14

10.将打包好的 tar 包传给别人

格式:scp  tar包所在路径  用户名@IP地址:要上传的路径

root@192.168.40.141's password:  

[root@master sec-tools]# scp /root/sec-tools/py3-ubuntu.tar kali@192.168.40.141:/home/kali/sec-tools

kali@192.168.40.141's password:  

[root@master sec-tools]#  

docker 制作自己的镜像_docker_15

11.接收到 tar 包之后,使用 tar 包

docker 制作自己的镜像_ubuntu_16

 格式:docker  load  <  tar 包所在路径

 docker load < /home/kali/sec-tools/py3-ubuntu.tar  

docker 制作自己的镜像_ubuntu_17

└─# docker images

docker 制作自己的镜像_python_18

12.使用镜像

a.查看本地镜像

b.创建并运行容器

docker run -dit --name=py3-henry-ubuntu 7dd29570f99c /bin/bash 

docker 制作自己的镜像_ubuntu_19

c.进入容器

docker exec -it py3-henry-ubuntu /bin/bash

docker 制作自己的镜像_docker_20