具体步骤
-
首先我们可以看下下图(进入容器后:pwd、vin、ifconfig测试一下),我们会发现在官方的Ubuntu下,很多命令都是没有的,因为官方的Ubuntu是压缩的。这个时候我们可以通过编写自己的Ubuntu DockFile文件去添加我们需要的东西,比如vim、ifconfig等等。
-
编写DockerFile的文件:在home目录下新建一个dockerfile-ubuntu的目录(mkdir dockerfile-ubuntu),然后按照DockerFile的文档格式要求写出如下所示代码:(vim、cat用法)
FROM ubuntu MAINTAINER huangke<huangkenicole@gmail.com> ENV MYPATH /usr/local WORKDIR $MYPATH RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.tuna.tsinghua.edu.cn/#' /etc/apt/sources.list; RUN apt-get update --fix-missing && apt-get install -y git vim --fix-missing EXPOSE 80 CMD echo $MYPATH CMD echo "----end----" CMD /bin/bash <img src="https://img2020.cnblogs.com/blog/1738278/202103/1738278-20210302151746766-1938638598.png" width=45%>
-
通过这个文件构建镜像:docker build -f dockerfile-ubuntu -t ubuntu:vim_1 . 需要指定版本号 不指定的话就会默认从dockerhub上下载最新版本,而不是我们dockfile里面的。包括之后对容器进行操作需要指定版本号。
补充知识点
-
删除目录:rm -r 目录名、删除文件:rm -f 文件名
-
docker build -f dockerfile-ubuntu -t myubuntu:0.1 . :通过dockerfile-ubuntu这个文件构建镜像myubuntu,版本0.1
-
docker build -f dockerfile-ubuntu -t ubuntu:vim_1 . 需要指定版本号,不然默认从DockerHub上下载最新版
-
docker images 查看本地所有镜像
-
docker images ubuntu 列出本地镜像中REPOSITORY为ubuntu的镜像列表
-
docker run -it ubuntu
-
sudo apt-get install vim linux安装软件(sudo 命令可以提升普通用户的权限,去执行其他用户才有权限执行的命令。即普通用户不需要root密码也能执行root权限命令的方法,更安全)
-
进入容器 交互模式docker run -it ubuntu,返回命令行模式
-
进入容器 后台模式 docker run -d ubuntu 后台运行容器,并返回容器ID
-
vim dockerfile-ubuntu 编辑dockfile文件
-
cd home错误 cd /home
-
cd dockerfile/和cd dockerfile区别
-
cd dockerfile/ + vim mydockerfile 进入编辑模式
-
vi /etc/profile 修改环境变量
-
exit退出容器模式
-
docker ps -a命令是用来展示所有所有的容器,包括未运行的容器
-
docker ps命令用来展示所有运行中的容器
-
docker ps | grep abc 查找images名字为abc的镜像
-
docker ps -a | grep ubun 查找所有名字开头有ubun的镜像
-
ps -ef | grep 命令查看指定服务是否启动
-
ps -ef | grep [进程ID]可以将进程定位到具体的项目中
-
docker run -d -it ubuntu
-
docker exec -it 容器id /bin/bash 就可以进入容器了,进行你想进行的操作。 进入docker里面,更改或者删掉里面的任何东西后,如果重启docker,都会恢复的。所以如果需要docker里面的某些东西做些永久性的改变,就需要docker commit。
参考视频
https://www.bilibili.com/video/BV1og4y1q7M4?p=28&spm_id_from=pageDriver