Docker

基础知识

参考:

https://cloud.tencent.com/developer/article/1772136

常用命令

docker container ls -a:查看docker中运行的所有镜像(不管镜像是否启动,都可以查到)
docker exec -it containerID /bin/bash:进入docker运行的镜像的文件夹,
示例:docker exec -it c1646be7ef98 /bin/bash
docker images:查看docker中所有的镜像
docker rm(rmi) imageID:删除指定的镜像
docker inspect 镜像名/镜像id:查看docker中镜像的详细信息
docker ps:查看docker中正在运行的所有容器信息
docker ps -a:查看docker中所有的容器信息,不论容器是否启动
docker stop containerID:停止容器
docker start containerID:开启容器
docker restart containerID:重启容器
docker rm(rmi) containerID:删除容器

docker常用命令

修改景象的配置文件

例如,docker中运行了一个flink,
我想修改flink的配置文件,我就需要用这中方式进入docker中运行的flink的镜像文件中,来修改flink的配置文件,需要注意的是,正常情况下,docker中没有安装vim所以无法直接更改,需要将文件复制出来,修改完成之后,在复制进去,或者,直接将docker中镜像的目录映射到本地的操作系统上直接,直接在本地修改。
注意:镜像运行了,才可以进入镜像中修改配置文件,修改完成之后,景象还需要重新启动;

sudo docker cp 容器ID:/etc/mysql/my.cnf /home/tom/:将镜像中的配置文件复制到本地目录/home/tom中
sudo docker cp /home/tom/my.cnf  容器ID:/etc/mysql/:将本地修改完成的配置文件在复制到docker的镜像文件中,覆盖它原来自己的配置文件
注意:复制操作,不管docker中的镜像是否启动,都可进行
docker run --name mytomcat -v /home/www/webapps:/usr/local/tomcat/webapps -d tomcat:可以在docker运行镜像的时后将本地文件目录/home/www/webapps映射到docker的镜像目录/usr/local/tomcat/webapps;可以简单理解为软连接,修改本地文件/home/www/webapps就相当于修改/usr/local/tomcat/webapps中的文件

docker compose

docker管理多个镜像的工具(docker自带的不用额外下载),默认的配置文件名为docker-compose.yml或docker-compose.yaml

常用命令

docker-compose up:进入配置文件所在的目录的,执行命令,docker会运行多个镜像文件
(取决于配置文件中是否配置了同时运行多个镜像文件)
docker-compose up -d:后台运行
docker-compose -f:可以指定配置文件,不用进入配置文件所在目录;示例:
docker-compose -f tools/docker/docker-flink/docker-compose.yml up -d

配置文件内容

docker-compose.yml

version: "2"
services:
  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8089:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
 
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
关键内容解释
expose:表示当前的docker容器暴露给其他docker容器的端口,其他docker容器可以通过这个端口访问当前
docker容器,但是操作系统不能访问该docker容器的端口;用途,两个docker容器之前进行通信
port:可以在宿主机,通过映射的操作系统的端口来访问docker的端口。示例:- "8089:8081":表示将宿主机(操作系统)的8089端口映射到docker的8081端口上,可以通过访问操作系统的8089端口来实现访问docker的8081端口的目的

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值