一、运行一个docker容器
为镜像创建一个容器并运行
为centos-new这个镜像创建一个容器并进入容器。将本地目录/home/wangsiyao/code/work/
挂载到容器目录/soft
。载入容器后启动bash。
$ docker run -it -v /home/wangsiyao/code/work/:/soft centos:latest /bin/bash
或者
$ docker exec -it 243c32535da7 /bin/bash
-it
创建并启动容器进入到容器命令行-v
进行宿主机目录与容器目录挂载/路径映射/bin/bash
表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器就会退出。这个就表示启动容器后启动bash。- 注意: 如果使用第二种方式启动docker,从这个容器退出,容器不会停止,所以推荐大家使用
docker exec
。
启动一个已经创建的容器
- 查看容器
$ docker ps -a
- 启动容器
$ docker start e304bf4f014a
# e304bf4f014 是 CONTAINER ID
- 进入容器
$ docker attach e304bf4f014a
- 用exit退出容器
- 停止容器
$ docker stop e304bf4f014a
一般使用start进入容器,exit退出后容器就会自动停止
启动容器并后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
-d
参数默认不会进入容器,想要进入容器需要使用指令 docker exec
或docker attach
使用方法:
docker attach e304bf4f014a
如果退出,容器也会停止。
docker exec -it e304bf4f014a /bin/bash
如果退出容器不会停止。
二、保存修改后的docker镜像
如果在加载了镜像后对镜像进行了修改。比如安装了vim等,想要下次启动时保留本次的修改。
- 启动docker
- 安装vim
- 使用exit退出
- 将镜像保存为centos-new。0e4de31d28e8是上一个镜像的id。
$ docker commit 0e4de31d28e8 centos-new
- 查看保存的镜像
$ docker images
$ docker inspect centos-new:latest 751a25483eb0
- 运行新的镜像
$ docker run -it -v /home/wangsiyao/code/work/:/soft centos-new:latest /bin/bash
三、镜像导入和导出
导出容器
如果要导出本地某个容器,可以使用 docker export 命令。
$ docker export 1e560fca3906 > ubuntu.tar
导入容器
可以使用 docker import 从容器快照文件中再导入为镜像。
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
此外,也可以通过指定 URL 或者某个目录来导入,例如:
$ docker import http://example.com/exampleimage.tgz example/imagerepo
四、删除容器和镜像
- 查看当前的容器
$ daocker ps -a
- 删除容器
$ docker rm -f 1e560fca3906
下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune
- 查看镜像
$ docker images
- 删除镜像
$ docker rmi 1e560fca3906