说在前面的话
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上
Docker安装
yum安装
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker
uname -r
yum -y install docker
service docker start
docker run hello-world
|
脚本安装
sudo yum update
curl -fsSL https://get.docker.com/ | sh
service docker start
docker run hello-world
docker version
|
服务操作
启动命令
systemctl enable docker
systemctl start docker
service docker start
|
关闭命令
systemctl stop docker
service docker stop
|
镜像操作
安装镜像
查看镜像
启动镜像
docker run -it -p hostPort:containerPort -v hostDir:containerDir
|
删除镜像
docker rmi <image id>
docker rmi $(docker images -q)
docker rmi -f $(docker images -q)
docker rm $(docker ps -q -f status=exited)
|
容器操作
创建容器
docker create -p 3000:80 --name exampleApp3000 yoyomooc/exampleapp
|
启动容器
docker run -t -i 镜像名 /bin/bash
docker start 容器名
|
两种启动容器的方法区别在于,前者相当于执行了创建容器+启动容器,而后者只有启动容器
停止容器
docker stop -t=60 容器ID或容器名
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)
docker kill 容器ID或容器名
|
其中stop方法中的参数-t
表示关闭容器的限时,如果超时未能关闭则用kill
强制关闭,默认值10s,这个时间用于容器的自己保存状态。上述两种方法的主要区别是stop
会给时间让容器自己保存状态,kill
是直接关闭容器,因此stop
方式常常被翻译为优雅的停止容器
查看容器
docker ps
docker ps -a
docker ps -aq
|
进入容器
假设在后台有容器运行,如果想进入它的终端,那么存在下述两种方法👇
docker attach 容器名
docker exec -it 容器名 /bin/bash
|
使用docker attach
命令进入container有一个缺点,那就是每次从container中退出到前台时,container也跟着退出了;如果要想退出container时,让container仍在后台运行,可以使用docker exec -it
命令
退出容器
假设要退出存在的两种,如果想进入它的终端,那么存在下述两种方法👇
重命名容器
删除容器
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq)
|