docker常用命令汇总

启动docker

systemctl start docker

查看docker版本信息

docker version

运行docker镜像

docker run hello-world

官方会提供hello-world镜像,本地docker没有hello-world镜像回取官网拉取

查看镜像

docker images    
		-q , --quiet    # 只显示镜像的id ;
		 -a , --all      #列出所有镜像
 docker ps -aq
 
#查看docker的系统信息,包括镜像和容器的数量
docker info

万能命令

docker 命令 --help

搜索镜像

docker search mysql   
	 --filter=STARS=3000        #搜索出来的镜像就是STARS大于3000的

下载镜像

docker pull mysql    
		docker pull 镜像名[:tag] #如果不写tag就会默认使用最新的镜像latest

删除镜像

docker rmi -f 【镜像名/id】    ##rm 删除  i 镜像  f 全部删除
docker rmi -f mysql
docker rmi -f $(docker images -aq)    
        #$(docker images -aq)查询所有镜像的id
        #递归删除所有镜像

新建容器并启动

docker run [可选参数] image
    #    --name="Name"    容器的名字 tomcat01 tomcat02,用来区分容器
    #    -d               后台运行
    #    -it              使用交互方式运行,进入容器查看内容
    #    -p               指定容器的端口    -p 8080:8080
            -p ip:主机端口:容器端口
            -p 主机端口:容器端口(常用)
            -p 容器端口
            容器端口
    #    -P               随机指定端口 大P

启动并进入容器

docker run -it centos /bin/bash    

退出容器

exit   

查看运行中的容器

docker ps               #查看当前运行的容器
docker ps -a            #查看当前运行的容器+历史运行过的容器
docker ps -a -n=?      #显示最近创建的?个容器容器
docker ps -a -n=1
docker ps -q            #只显示容器的编号
exit                    #直接容器停止并退出
Ctrl + P + Q            #容器不停止退出

删除容器(不能删除正在运行的容器)

#删除容器
docker rm 容器id    

#删除所有容器
    docker rm -f $(docker ps -aq)

启动和停止容器的操作

    docker start  容器id      #启动容器
    docker restart 容器id     #重新启动容器
    docker stop 容器id        #停止当前正在运行的容器
    docker kill 容器id        #强制停止当前容器

查看日志

docker log -f -t --tail 容器

#查看日志信息(前10行)
    docker logs -tf --tail 10 e2453aec0f42
    -tf    #显示日志
    --tail number    #要显示的日志条数

查看容器中进程信息ps

docker top 容器id

查看镜像的元数据

docker inspect 容器id

进入容器后开启一个新的终端,可以在里面操作(常用)

docker exec      
    docker exec -it 466e1cc74d91 /bin/bash
    
#进入容器正在执行的终端,不会启动新的进程
    docker attach   

从容器内拷贝文件到主机上

docker cp 容器id:容器内路径 目的的主机路径

docker cp ba585a4137e5:/home/test.java /home
#将docker容器中的文件拷贝到centos的home文件目录下

将linux中的文件拷贝到docker容器中

docker cp a.txt 25a7045e3f6f:/home/

#进入容器查看
    docker exec -it 25a7045e3f6f /bin/bash

下载并部署nginx镜像

下载镜像:
    docker pull nginx
查看镜像:
    docker images
启动镜像
    docker run -d --name nginx01 -p 3344:80 nginx
        -d        后台运行
        --name    给容器命名
        -p        宿主机端口:容器内部端口

#查看镜像运行
	curl localhost:3344

下载并部署tomcat

#官方的使用    
    docker run -it --rm tomcat:9.0  (一般用来测试,用完即删除)
    下载再启动


docker pull tomcat:9.0

docker run -d -p 3355:8080 --name tomcat01 tomcat

#测试没有问题
    curl localhost:3355
#进入容器
    docker exec -it tomcat01 /bin/bash
#发现问题:
    1.linux命令少了
    2.没有webapps
    阿里云镜像的原因,默认是最小的镜像,所有不必要的都删除1掉
    保证最小可运行的环境
    解决:
        将文件目录下的webapps.dist目录下的文件全部拷贝到webapps目录下
    然后再访问 localhost:8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值