一、安装docker
1、update apt-get
sudo apt-get update
2、通过apt-get的方式安装docker
sudo apt-get -y install docker.io
3、查看是否安装成功
docker
docker -v (查看版本)
4、让服务器下的非root用户可以使用docker
sudo usermod -aG docker ${user}
二、搜索可以使用的镜像
sudo docker search tutorial
注:root用户无需使用sudo
三、使用搜索出来的容器镜像,执行“hello world”
在这里我使用上面第二步中搜索出来的“learn/tutorial”镜像,注意,这里搜索出来的只是可以使用的,并不是你本地已经下载好的,此时需要下载这个镜像,使用pull指令
sudo docker pull learn/tutorial
其实这里还可以跳过这个手动执行下载的步骤,直接使用,因为docker会帮你检测当前镜像是否可用,是否已经下载,如果没有下载会帮你自动下载并执行你的操作,如这里直接通过learn/tutorial执行hello world:
sudo docker run learn/tutorial echo "hello world"
可以看到这里运行hello world之前,docker在本地没有找到,所以先帮我pull了这个learn/tutorial。
三、在镜像中安装程序
1、安装
这里使用的是apt-get方式进行安装
sudo docker run learn/tutorial apt-get install -y ping
注:在执行apt-get命令时,要使用-y参数,否则apt-get会进入交互模式,需要用户使用命令来确认操作,但docker中是不能响应交互操作的。
2、保存修改
安装之后其实并没有直接生效,还需要保存修改,这里保存后它保留了新旧版本之间的区别,这里使用了新的镜像名也就创建了一个新的镜像。
(1)首先查看镜像ID
sudo docker ps -l
这里ID在用的时候不用写全称,只需要用前三到位就可以了,比如直接用223即可
注:通过docker ps -l指令查询到的镜像是最后一个执行的镜像。
(2)commit提交保存
sudo docker commit 223 xxx/xxx
这里的xxx/xxx就是新版本的名称。
(3)查看效果
sudo docker images
可以查看到刚刚你保存修改过后新创建的镜像。
然后就可以运行新的镜像了,测试之前安装的ping指令,比如ping百度
sudo docker run xxx/xxx ping www.baidu.com