1,从远程拉取镜像
docker和git类似,都有一个仓库的概念
这里我们从官方拉取18.04镜像:
sudo docker pull ubuntu:18.04
查看本地已有的镜像:
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUxXzY0MTNkMzMzZGUyMmIzMDU1MC5wbmc%3D.png?w=700&webp=1)
可以发现官方的ubuntu18.04的镜像只有63m,因为是一个基础的ubuntu系统,很多软件包都没有安装
2,通过本地镜像创建一个容器
创建一个基于ubuntu18.04镜像的容器 并运行/bin/bash
使用–name指明当前容器的名称为ubuntu-01
sudo docker run -it --name ubuntu-01 ubuntu:18.04 /bin/bash
运行后会自动进入容器的终端:
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0MDU0NDU5OTcxNC5wbmc%3D.png?w=700&webp=1)
3,更改镜像的源为国内源
常规操作是使用vi编辑/etc/apt/source.list 但是vi没有安装。因此这里使用echo命令:
先备份原来的源:
mv /etc/apt/sources.list /etc/apt/sources.list.back
添加源:
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe" >> /etc/apt/sources.list &&
echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe" >> /etc/apt/sources.list
更新源:
这样就能方便的通过apt-get去安装一些其他的软件包了:
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0MjkzOGIzNzQ5MS5wbmc%3D.png?w=700&webp=1)
创建用户,默认是只有root用户:
4,将本地文件上传到容器
在宿主终端上,查看正在运行的当前容器的ID:
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0NDljNTY3NDE4NC5wbmc%3D.png?w=700&webp=1)
这里b64a8d555a4f就是ID
通过如下命令将当前目录下的examples.desktop拷贝到当前容器的指定目录下:
sudo docker cp examples.desktop b64a8d555a4f:/home/chengyangkj
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0NmMyOTk0OTI4MC5wbmc%3D.png?w=700&webp=1)
也可以通过容器名进行拷贝,刚才创建容器时指定容器名为:ubuntu-01,则拷贝命令就变为:
sudo docker cp examples.desktop ubuntu-01:/home/chengyangkj
5,将当前容器保存为镜像
通过容器名(也可以通过容器ID)docker commit 提交容器为镜像:
sudo docker commit -m "test" -a chengyangkj ubuntu-01 chengyangkj/ubuntu:v1
-m “test” 提交说明
-a chengyangkj 镜像创建者
ubuntu-01 容器名
chengyangkj/ubuntu:v1 指定要创建的镜像名
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0ODgxMWE5ODkwOS5wbmc%3D.png?w=700&webp=1)
查看本地所有的镜像,发现保存成功,这样就能通过这个镜像创建新的容器了:
![docker笔记-常用的一些命令 docker笔记-常用的一些命令](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE3MTA0MDUyXzY0MTNkMzM0YTAzNDQ5NzA1MS5wbmc%3D.png?w=700&webp=1)