Docker常用命令
一、Docker安装
CentOS系统使用国内 daocloud 一键安装命令
curl -sSL https://get.daocloud.io/docker | sh
设置开机自启
systemctl enable docker now
二、镜像操作
1、下载镜像
到docker hub,找想要下载的镜像
docker pull 镜像名:版本名(标签)
docker pull nginx #下载最新版
docker pull nginx:latest#下载最新版
docker pull nginx:1.20.1 #下载指定版本
2、查看镜像
下载下来的镜像都在本地
docker images #查看所有镜像
3、镜像删除
docker rmi 镜像名:版本号/latest
docker rmi nginx #不写冒号默认为latest
docker rmi nginx:latest #同上
docker rmi nginx:1.20.1
4、镜像保存
save命令使用方法
Usage: docker save [OPTIONS] IMAGE [IMAGE...]
将一个或多个镜像以tar格式保存 (streamed to STDOUT by default)
-o, --output string Write to a file, instead of STDOUT
#将镜像保存为压缩包,导出
docker save -o abc.tar nginx:latest
#另一台机器加载这个镜像,导入
docker load -i abc.tar
三、容器操作
1、启动容器
启动nginx应用容器,并映射88端口,测试的访问。
#格式
docker run [Options] images [command] [arg...]
docker run 设置项 镜像名 镜像启动运行命令(镜像里默认有的一般不写)
#例 以后台运行nginx:latest,名称为mynginx
docker run nginx --name=mynginx -d -p 88:80 nginx
-d 后台运行
--restart=always 开机自启容器
-p [主机端口]:[容器端口] 映射主机端口
2、查看容器
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
3、删除容器
#删除停止的容器
docker rm 容器名|容器id
#不管容器什么运行状态,强制删除容器
docker rm -f 容器名|容器id
#删除所有容器
docker container prune
4、停止容器
#删除未在运行的容器
docker stop 容器名|容器id
5、再次启动容器
#启动停止状态容器
docker start 容器名|容器id
#重启容器
docker restart 容器名|容器id
6、更新容器状态
#删除未在运行的容器
docker update 容器名|容器id --restart=always
7、进入容器修改内容
docker exec -it 容器id /bin/bash
-it 以交互模式运行
/bin/bash或者/bin/sh 进入办事控制台
8、容器提交改变
将已配置好的容器保存成镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a, --author string 作者
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string
-p, --pause 提交过程中停止容器
docker commit -a "abc" -m "配置变化" 容器id 镜像名:tag
6、更新容器状态
#删除未在运行的容器
docker update 容器名|容器id --restart=always
四、镜像与仓库
1、推送远程仓库
docker tag [本地镜像名:标签] [仓库名:标签]
docker push [仓库名:标签]
#把旧镜像名字,改为仓库要求的名字
docker tag nginx:latest abc/ngingx:v01
# push到仓库前先登录
docker login
#docker push
docker push abc/ngingx:v01
#推送完成以后推出
docker logout
命令补充
docker logs 容器名/id 排错
#容器内文件复制到本机
docker cp 容器id/etc/nginx/nginx.conf /data/cof/nginx.conf