docker常用命令

一、docker信息

docker -v
dokcer version #查看docker版本
docker info #查看docker容器信息

二、镜像操作:对于镜像的操作可使用镜像名、镜像长ID和短ID。

1、查看镜像

docker images                      列出本地images
docker images -a                   含中间映像层
docker images restfulhttp          列出指定镜像

2、镜像搜索

docker search restfulhttp(镜像名称)

3、镜像构建

(1)编写dockerfile
cd /docker/dockerfile
vim zlydockerfile

FROM nginx_kylin9-28:1.20 
COPY ./dist  /usr/local/nginx/html/ # 把文件copy到/usr/local/nginx/html/这样一个文件夹下面
ADD ./nginx.conf  /usr/local/nginx/conf/nginx.conf
RUN mkdir -p /var/log/nginx/ && chmod 777  /var/log/nginx/
ENTRYPOINT /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf && tail -f /var/log/nginx/error.log
ENV LANG C.UTF-8
EXPOSE 8088

(2)构建docker镜像

docker build -t zlyImage:latest  -f  /docker/dockerfile/zlydockfile#-t指定名字 :指定标签  -f指定dockerfile文件 (可以先cd到dockerfile文件夹下,这样就无需-f)

4、镜像推送

1)默认操作
docker push zlyImage:latest
2)实际小案例

#登录云环境
docker login -u samr-man-1_rescource_yy005@Q0DAKFZFO6MHMDIKNJT -p 34822bf6a0663f4b94af1c771d5ee84aee463bd6d748402a5a268fb6c928e swr.samr-madian-1.samrcloud.com

给镜像打标签(方便回滚版本时,使用指定标签的镜像来创建容器)

docker tag zlyImage:latest swr.samr-man-1.samrcloud.com/yunImage:v1.0 #将镜像zlyImage:latest打成yunImage:v1.0
docker push swr.samr-man-1.samrcloud.com/yunImage:v1.0     #swr.samr-man-1.samrcloud.com仓库地址

5、镜像删除

docker rmi redis                             单个镜像删除,相当于:docker rmi redis:latest
docker rmi -f redis                          强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis tomcat nginx             多个镜像删除,不同镜像间以空格间隔
docker rmi -f $(docker images -q)            删除本地全部镜像

6、镜像下载

docker pull redis                              下载Redis官方最新镜像,相当于:docker pull redis:latest
docker pull -a redis                           下载仓库所有Redis镜像
docker pull bitnami/redis                      下载私人仓库镜像

7、镜像导出

#docker save 镜像名:版本号 -o /路径/保存的包名.tar
docker save nginx:14.04 > /images/nginx.tar     

8、镜像导入

docker load --input  /images/nginx.tar            导入镜像文件
docker load < /images/nginx.tar                      通过符号的方式导入

三、容器操作:

1、容器启动

##新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
docker run -i -t --name zlyContainer
##后台启动容器,参数:-d  已守护方式启动容器  -p 
docker run --name zlyContainer -d -p 8777:80 restfulhttp:v1.3

2、查看容器

docker ps  #查看正在运行的容器
docker ps -q  #查看正在运行的容器的ID
docker ps  -a #查看正在运行的容器+历史运行过的容器
docker ps -s #显示运行容器总文件大小

3、容器的停止与删除

docker stop zlyContainer #停止一个运行中的容器
docker kill zlyContainer  #杀掉一个运行中的容器
docker rm zlyContainer  #删除一个已停止的容器
docker rm -f zlyContainer  #删除一个运行中的容器
docker rm -f $(docker ps -a -q)  #删除多个容器
docker ps -a -q | xargs docker rm
docker rm -l db #移除容器间的网络连接,连接名为db
docker rm -v zlyContainer#-v删除容器,并删除容器挂载的数据卷

4、容器的进入与退出

docker run -it zlyContainer  /bin/bash #使用run方式在创建时进入
exit #关闭容器并退出
快捷键 CTRl + P+Q   #仅退出容器,不关闭
docker attach --sig-proxy=false centos ##直接进入centos 容器启动命令的终端,不会启动新进程,多个attach连接共享容器屏幕,参数:--sig-proxy=false  确保CTRL-D或CTRL-C不会关闭容器
docker exec -i -t zlyContainer ls -l /tmp##以交互模式在容器中执行命令,结果返回到当前终端屏幕##在 centos 容器中打开新的交互模式终端,可以启动新进程,参数:-i  即使没有附加也保持STDIN 打开;-t  分配一个伪终端
docker exec -d zlyContainer  touch cache.txt ##以分离模式在容器中执行命令,程序后台运行,结果不会反馈到当前终端

5、容器日志

docker logs zlyContainer##查看zlyContainer容器日志,默认参数
docker logs -f -t --tail=20 zlyContainer##查看zlyContainer容器日志,参数:-f  跟踪日志输出;-t   显示时间戳;--tail  仅列出最新N条容器日志;
docker logs --since="2019-05-21" --tail=10 zlyContainer##查看容器zlyContainer从2019年05月21日后的最新10条日志。

你可能感兴趣的:(docker常用命令)