官方安装文档:https://docs.docker.com/engine/install/
# 安装yum-utils软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加软件源信息 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装 docker-ce sudo yum makecache fast sudo yum -y install docker-ce # 开启Docker服务 sudo service docker start
[root@iZ8vb8dbaanph3q5e9q532Z docker]# docker version Client: Docker Engine - Community Version: 19.03.12 API version: 1.40 Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:46:54 2020 OS/Arch: linux/amd64 Experimental: false
Server: Docker Engine - Community Engine: Version: 19.03.12 API version: 1.40 (minimum version 1.12) Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:45:28 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
启动服务:systemctl start docker
停止服务:systemctl stop docker
重启服务:systemctl restart docker
开机启动:systemctl enable docker
查看docker状态:systemctl status docker
参数分别对应的含义:
CONTAINER ID:容器的id,唯一标识符号,64位的十六进制证数。IMAGE:创建容器时使用的镜像COMMAND:容器最后运行的命令CREATED:创建容器的时间STATUS:容器的状态,容器关闭时间。PORTS:对外开放的端口NAMES:容器的名字
docker的重启策略可以分为4种:
1.no:表示不自动重启容器,默认。
2.on-failure[:max-retries]:表示在退出状态为非0时才会重启(非正常退出),可选参数:可以设置最大重启次数,重启次数达到上限后就会放弃重启。
3.always:表示始终重启容器,当docker守护进程启动时,也会重启,无论容器当时状态为何,都会尝试重启容器。
4.ubless-stopped:表示始终重启容器,但是当docker守护进程启动时,如果容器已经停止运行,则不会去重启它。
docker ps -n=2 #查看最新装载的2个容器docker create nginx # 创建一个nginx容器docker create --name=nginx nginx #创建容器时指定namedocker stats # 查看容器占用资源docker start nginx # 运行一个已经存在的容器,可以通过name,id启动docker run --name nginx -d -p 8080:80 nginx # 容器创建+运行
--name表示创建的容器的名字,-d表示容器在后台运行,-p表示将容器的80端口映射到宿主机的8080端口
当用户执行docker run命令时,会自动去Docker hub上下载相关的镜像,也可以通过docker search搜索符合要求的镜像,如果希望此命令能够快速执行,可以在运行之前,先利用docker pull命令将镜像下载下来,然后再运行
docker stop #终止容器docker --restart #容器运行过程中,出现问题能够自动重启docker rm # 删除一个容器,只能删除已经停止运行的容器,不能删除正在运行的容器,如果非要删除,可以通过-f参数实现docker rm $(docker ps -a -q) #批量删除容器 docker ps -a -q 会列出所有容器的id,供rm命令删除docker rmi #删除镜像,参数为id或者镜像名,参数可以有多个,多个参数之间用空格隔开。 docker commit -m --author='zww' 1beab7618688 mysql:v1 #创建本地镜像-m表示对创建的该镜像一个简单的描述
--author表示该镜像的作者
1beab7618688 表示创建镜像所依据的容器id
mysql表示容器名
v1表示仓库的tag
docker container prune #删除已退出的容器docker logs # 查看容器日志docker attach # 依附容器,进入容器内部查看 这个命令用的很少 一般用 docker execdocker exec # 容器在后台启动时,可以使用此命令在容器内执行命令,即使用户从终端退出,容器也不会停止运行 docker inspect #查看容器的详细信息
包括容器的id、容器名、环境变量、运行命令、注机配置、网络配置以及数据卷配置等信息,部分执行结果如下图:
使用format参数可以只查看用户关心的数据,例如:
查看容器运行状态: docker inspect -f='{{.State.Running}}' nginx
docker top # 查看容器中正在运行的进程 docker export #导出容器 cat zww_tomcat.tar | docker import - imported_tomcat #导入容器docker builddocker volume ls #查看所有数据卷 docker volume inspect #查看数据卷详情 docker volume rm #删除一个数据卷docker volume prune #批量删除数据卷