docker命令学习之镜像和容器部分

systemctl start docker// 先启动docker服务

docker run hello-world // 运行hello-world镜像

官网命令帮助地址docker images | Docker Documentation

1,docker version//查看docker版本信息

2,docker info//查看docker系统信息,包括镜像和容器数量

镜像命令

3,docker images//查看所有本地的主机上的镜像

     docker images -a//显示所有镜像

     docker images -q//只显示镜像id

     docker images -aq

4,docker search mysql//在dockerhub上搜索mysql镜像

     

5,docker pull mysql//默认拉取最新版mysql镜像

[root@localhost ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql  // 分层下载,docker images 核心 联合文件系统
f7ec5a41d630: Pull complete 
9444bb562699: Pull complete 
6a4207b96940: Pull complete 
181cefd361ce: Pull complete 
8a2090759d8a: Pull complete 
15f235e0d7ee: Pull complete 
d870539cd9db: Pull complete 
5726073179b6: Pull complete 
eadfac8b2520: Pull complete 
f5936a8c3f2b: Pull complete 
cca8ee89e625: Pull complete 
6c79df02586a: Pull complete 
Digest: sha256:6e0014cdd88092545557dee5e9eb7e1a3c84c9a14ad2418d5f2231e930967a38  //签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest //真是地址
[root@localhost ~]#  

docker pull mysql等价于docker.io/library/mysql:latest

docker pull mysql:5.7//指定版本下载 ,5.7必须在dockerhub上能查到的

6,docker rmi -f 450379344707 //强制删除镜像id为450379344707的镜像,删除多个 就写多个容器id,并用空格隔开

     docker rmi -f  mysql //也可根据名字来删除

     docker rmi -f $(docker images -aq) //组合命令循环删除所有镜像,$() 用来传参,

容器命令

  说明:有了镜像才可以创建容器

7,docker pull centos //下载一个最新centos镜像,这个只是个基础版的centos,很多命令都不完善

       新建容器并启动:docker run [可选参数] image

       参数说明:

        -- name="name" // 给容器取一个名字 ,tomcat01、tomcat02  用来区分容器

       -d //后台方式运行容器

       -it //使用交互方式运行容器,进入容器查看日志等内容

       -p //指定容器的端口 -p 8080:8080

               -p ip:主机端口:容器端口(常用)

               -p 主机端口:容器端口(常用)

               -p 容器端口

               容器端口

       -P //随机指定端口

8,docker run -it centos /bin/bash //启动centos容器并进入容器

9,exit //从容器退回到主机 并停止运行容器

      ctrl + p +q // 退出容器但不停止容器

10,docker ps //查看正在运行的容器

       docker ps -a // 查看正在运行的容器+历史运行过的容器

     docker ps -a -n 1 // -n 数字 只显示最近多少条

     docker ps -q // -q只显示容器id

11,docker rm 容器id // 根据容器id删除容器,删不除运行中的容器

       docker rm -f 容器id //强制删除容器

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

12,docker start 容器id //启动容器

       docker restart 容器id // 重启容器

       docker stop 容器id//停止容器

       docker kill 容器id// 强制停止容器

13,docker run -d centos //后台启动centos容器

      问题: docker ps 发现centos停止了

      原因:docker容器使用后台运行就必须有一个前台进程,docker发现没有应用就会自动停止

13.1  ,

      设置开机启动比如mysql:

      docker update mysql --restart=always 

      开机启动比如mysql:

       docker update mysql --restart=no

14,docker logs -f -t --tail 10 容器id // 查看容器最近10条日志,注意--tail 后面要跟一个数字参数

测试:

    docker run -d centos /bin/sh -c "while true;do echo hahahahahhahaha;sleep 1;done"

    docker logs -f -t --tail 5 2307b72f5e75

    

15,docker top 容器id //查看容器内部进程信息

    UID:用户id

    PIID:进程id

16,docker inspect 容器id //查看容器的元数据

17,进入容器

方式一:

docker exec -it 容器id /bin/bash // 进入容器开启一个新的终端,可以在里面操作(常用)

方式二:docker attach 容器id //进入执行的终端,不会启动新的进程

18,docker cp 容器id:/home/testCopy.java /home       //将容器内/home路径下的testCopy.java文件拷贝到主机的home目录下

安装docker可视化管理看板portainer

 docker run -d -p 8088:9000 \

> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

然后访问ip:8088会出现一个登录页面然后让你创建一个账号密码,然后登进去会看到如下界面,比如容器、镜像数量等等信息:

19.自己的JAVA项目制作镜像

  (1)先将自己的项目打成jar包demo-0.0.1-SNAPSHOT.jar,编写Dockerfile文件例如:

FROM openjdk:8-jdk-alpine
WORKDIR /home/
ENV RUN_ENV="pro"
ENV JAVA_OPTS=""
ENV JAVA_OPTS_INNER=" -Xmx2048m -Xms2048m -Xmn768m "
ADD demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS_INNER $JAVA_OPTS -Dspring.profiles.active=${RUN_ENV} -jar app.jar" ]

生成名称为demo,版本为v0的镜像:

docker build -t demo:v0 .

启动容器:

docker run -d --name demo -p 8083:8082 demo:v0

备注:8082为代码里的端口,8083为容器映射到宿主机的端口,-d为后台启动。

访问:服务器地址如http://192.168.64.131:8083/hello/h

20.导入导出镜像到本地

例:

导出hello word镜像

   docker save d1165f221234 > /home/helloword.tar                  // 这种导入后看不见镜像名称和tag(参考docker 镜像导入导出_IChen.的博客-CSDN博客_docker 导出镜像

导出刚才导出的镜像

docker load < /home/helloword.tar

最后查看验证镜像

docker images

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值