美文网首页
docker 常用命令

docker 常用命令

作者: collincp | 来源:发表于2022-10-17 00:31 被阅读0次

    2022-10-16

    docker下载官网 mac和win系统可以直接下载点击安装
    docker_Linux环境安装
    官方镜像
    记录一些docker高频常用命令

    # 下载镜像
    docker pull  [镜像名称]:[版本] #其中版本不写默认为latest 如 docker pull  nginx 或者 docker pull nginx:1.23.1-alpine
    #查看镜像
    docker images  
    # 启动容器
    docker run [镜像名称]  # docker run   nginx
    # 查看启动的镜像
    docker  ps   # 可以添加-a 查看全部容器 如: docker ps -a
    # 关闭容器
    dockers stop [容器ID|CONTAINER ID ] 或者 [名称:NAMES]  # docker ps查找的结果 
    # 重启容器 
    docker restart [容器ID|CONTAINER ID ] 或者 [名称:NAMES]
    # 移除容器
    docker rm [容器ID|CONTAINER ID ] 或者 [名称:NAMES] 
    # 移除镜像 使用docker images 查找
    docker rmi [容器id :IMAGE ID]或者[容器名称:REPOSITORY]
    
    ## 直接清理
    # **第一个停止全部容器,第二个删除全部容器,第三个删除全部镜像**
    docker stop $(docker ps -aq);
    docker rm $(docker ps -aq);
    docker rmi $(docker images -q);
    
    # 非常用
    # 文件复制 需要使用docker命令,只能在宿主机上执行
    # 上传 文件名 容器ID:路径,跟scp类似
    docker cp jdk-8u301-linux-x64.tar.gz 4463b770af57:/~/.
    # 下载到当前
    docker cp 4463b770af57:/root/jdk-8u301-linux-x64.tar.gz .
    # 提交本地,保存已经写好的数据 名称:版本号
    docker commit [容器ID] ubuntu_java:v2
    # 给提交的新容器添加端口,后面java -jar 为附带启动命令
    docker run -it -d -p 8080:8080  --name newname  ubuntu_java:v2  java -jar /root/java/demo.jar
    # 下面命令容器名称和id 是通过 docker ps 查找的结果
    docker logs -f -t [容器名称| 容器ID] # 查看容器运行日志
    # 进入容器 其中大部分 容器是 bash少部分是 sh 故 有的容器需要改成 /bin/sh
    docker exec -it [容器名称| 容器ID] /bin/bash  # exit 退出 windows环境需要在cmd或者poershell中使用
    
    # 重命名
    docker rmname oldName newName
    # 修改容器名称
    docker tag a9405730d932  ubuntu_java:v1
    # 导出 # 注意 save和export 都是导出,save自己使用,带有历史,export给其他人用,不带历史
    docker save -o ubuntu.tar ubuntu_bae:v1
    # 导入
    docker load < ubuntu.tar 
    

    其他启动需要带上的命令

    -d 后台启动,不打印日志,需要查看日志,可以不带上,否则强烈建议带上
    -v 挂载,如数据日志挂载本地路径:容器路径 如 -v /本地文件路径/test:/home
    --name 重命名
    -p 端口映射 如 -p 33306:3306 将本地33306 映射到容器3306上,本地访问使用33306

    简易 dockefile 搭建直接的docker镜像

    说明:microservice-eureka-server:0.0.1  前面为服务名称:版本好
    打包
    #某于哪个镜像
    From java:8
    #复制文件到容器
    ADD microservice-eureka-server-0.0.1-SNAPSHOT.jar /app.jar #声明需要暴露的端口
    EXPOSE 8761
    #配置容器启动后执行的命令
    ENTRYPOINT ["java" ,"-jar","/app.jar"]
    3、使用docker build命令构建镜像
    # docker build -t javakk.jar:0.0.1 .
    必须小写。
    执行服务
    docker run -p 8903:8903 javakk.jar:0.0.1
    

    实际情况需要使用多个容器故docker-compose进行多个容器进行管理

    备注: docker-compose 需要安装,注意版本,docker-compose 其实就是docker常用命令组合,常用服务的docker-compose 网上有很多

    ## docker-compose 使用 需要在docker-compos.yml 目录下执行下属名称才能生效
     docker-compose up -d  启动
     docker-compose stop 关闭
     docker-compose rm [关闭后]移除
     docker-compose rm -fs 强制关闭并移除镜像 还有参数v 表示移除卷积数据,一般不用
    

    相关文章

      网友评论

          本文标题:docker 常用命令

          本文链接:https://www.haomeiwen.com/subject/xnjrzrtx.html