Docker

Docker基础学习

Docker基础命令

systemctl start docker #启动docker
systemctl status docker #查看服务状态
systemctl stop docker #停止
systemctl restart docker #重启docker
systemctl enable docker #开机启动

Docker镜像命令

docker rmi docker images -q  #删除所有镜像
docker image rm <镜像名称或ID> #删除单个镜像命令
docker image rm -f <镜像名称或ID> #强制删除镜像命令
docker images -q name #查看镜像是否存在
docker build -f BackFile -t back:v1 #指定dockerfile名称

Docker容器命令

docker ps -a #查看历史容器
docker kill -s KILL name #向容器发送一个信号杀死容器
docker exec -it name /bin/bash #分配一个终端给容器,进入容器
docker export 1e560fca3906 > ubuntu.tar #导出容器 1e560fca3906 快照到本地文件 ubuntu.tar。
docker stop name #停止容器
docker rm name #删除容器
docker rm -f 1e560fca3906 #删除容器
docker rm docker ps -aq #删除所有容器
docker inspect name #查看容器信息c
docker stop $(docker ps -a -q) #停止所有容器
docker rm $(docker ps -a -q) #删除所有容器
#停止并删除所有容器
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
docker exec -it myMysql mysql -u root -p123456 #进入mysql控制台
docker update --restart=always <容器名称> #容器自启动
docker inspect <容器名>| grep RestartPolicy #验证是否生效

Docker容器的数据卷

docker run ....-v 宿主机目录(文件):容器内目录(文件)...
#列
docker run -it --name=c1 -v /root/data:/root/data_container centos:7
docker volume ls #查看数据卷
docker inspect name #查看数据卷信息

Docker复制主机文件命令

docker cp <host_path> <container_name_or_id>:<container_path>
docker cp /home/user/data/. my-container:/app/data/

Docker端口映射

docker run -it -p [宿主机端口]:[主机端口] --name [名称] [镜像名称]
docker run --name myMysql -p 23306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

MYSQL创建一个容器

docker run -id \
> -p 3307:3306 \
> --name=c_mysql \
> -v $PWD/conf:/etc/mysql/conf.d \
> -v $PWD/logs:/logs \
> -v $PWD/data:/var/lib/mysql \
> -e MYSQL_ROOT_PASSWORD=123456 \
> mysql:latest
# 指定mysql容器数据库字符集
docker run --name myMysql -p 23306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=health -e MYSQL_CHARSET=utf8 -d mysql:5.7

DockerFile

dockerfile常用指令

  • 创建镜像指令
docker build -t myubuntu:01 .
docker build -t 镜像名:版本号 DockerFile所在的文件目录
  • 编写Dockerfile文件
FROM centos  # 指定镜像来源
WORKDIR /app # 指定后续指令工作目录
COPY src/ /app # 将宿主机文件复制到容器中
RUN echo 321 >> 1.txt # 在构建容器过程中执行命令
CMD tail -f 1.txt # 指定创建容器时的默认命令

Docker构建镜像命令

docker build -t [name] . #dockerfile文件位置

Docker-compose配置文件

# 代表docker-compose项目版本号
version: "3.8"
services:
  tomcat:
     container_name: tomcat00 #代表给容器指定一个名称
     image: tomcat:latest
     ports:
        - 8080:8080
  tomcat01:
    image: tomcat:latest
    ports:
        - 8081:8081
  redis:
    image: redis:5.0
    ports:
      - "6380:6379"
  mysql:
    image: mysql:latest
    ports:
      - "3307:3306"
    environment: #代表当前容器启动环境
      - "MYSQL_ROOT_PASSWORD=12345678"
    volumes:  #代表当前容器和宿主机指定数据卷
      - /root/mysqldata1:/var/lib/mysql
volumes:
  mysqlData: #声明别名数据卷

  • 启动docker-compose
docker-compose up #指定这个命令必须在dokcer-compose.yml文件配值文件目录
docker-compose down #清除缓存
docker-compose down --rmi all #移除所有镜像
docker-compose build --no-cache name
docker-compose up --force-recreate --build  #强制重新创建所有容器

DockerFile和Docker-compose区别

  • Dockerfile: 用于定义如何构建单个 Docker 镜像,包括基础镜像、添加文件、运行命令、设置环境变量等。
  • docker-compose: 用于定义和管理多个相关联的 Docker 容器,以创建一个完整的容器化应用程序。通过一个 YAML 文件配置多个容器、网络、卷等,简化了容器组合和协调的过程。

Docker创建Redis容器并指定用户名密码

docker run --name myRedis -p 6379:6379 -d redis:alpine --requirepass your_password
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值