Docker学习第二天

这篇具有很好参考价值的文章主要介绍了Docker学习第二天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 docker中配置mysql

docker search  xxx      从镜像库查询

Docker学习第二天,docker,学习,容器

docker pull xxx   从镜像库中拉取镜像

Docker学习第二天,docker,学习,容器

docker image ls                   查看本地镜像

Docker学习第二天,docker,学习,容器

docker run -it --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
创建mysql容器

Docker学习第二天,docker,学习,容器

设置项详解:

-it : 以交互模式运行容器,并为容器重新分配一个伪输入终端

-- name : 容器名

-p : 指定端口 格式为:主机(宿主)端口:容器端口

-e : 设置环境变量, 图中设置mysql中root用户密码为123

-d : 后台运行容器并将容器ID返回


docker ps                查看运行中的进程

docker ps -a            查看所有进程

Docker学习第二天,docker,学习,容器

docker logs xxxxx                查询日志

Docker学习第二天,docker,学习,容器

docker stop xxxx                停止容器

docker rm xxxxx                删除容器

Docker学习第二天,docker,学习,容器


通过上面命令创建的mysql容器将数据都存放在docker容器中,容易丢失

所以要讲数据挂载到linux中

Docker学习第二天,docker,学习,容器

先创建这三个文件夹

在conf文件夹中创建cnf文件

Docker学习第二天,docker,学习,容器

由于docker容器分配的ID取决于容器的启动顺序,为了使容器的ID固定,创建一个新的网络

docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 my_network

Docker学习第二天,docker,学习,容器

然后使用命令创建容器

docker run -it \
--name mysql \
-p 3306:3306 \
--privileged \
-e MYSQL_ROOT_PASSWORD=123 \
--network my_network \
--ip 172.18.12.2 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3306/data:/var/lib/mysql \
-v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
-d mysql

Docker学习第二天,docker,学习,容器

docker inspect mysql                查看mysql容器详细信息

Docker学习第二天,docker,学习,容器

docker inspect mysql |grep IPAdd                使用管道过滤 只显示指定内容

Docker学习第二天,docker,学习,容器

可以看到IP成功绑定为172.18.12.2

docker exec -it mysql bash                进入mysql容器

Docker学习第二天,docker,学习,容器

mysql -uroot -p123                启动mysql

Docker学习第二天,docker,学习,容器

成功

Docker学习第二天,docker,学习,容器


二 DockerFile

linux服务器配置Docker

vim /lib/systemd/system/docker.service                打开docker.service文件

Docker学习第二天,docker,学习,容器

在ExecStart这一行加上 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Docker学习第二天,docker,学习,容器

systemctl daemon-reload        重新加载docker的daemon

systemctl restart docker.service                重启docker

Docker学习第二天,docker,学习,容器

netstat -nptl|grep 2375                查看2375端口状态

Docker学习第二天,docker,学习,容器

curl http://192.168.118.128:2375/info               使用curl测试API

注意IP地址是linux的IP

Docker学习第二天,docker,学习,容器

开放2375端口

firewall-cmd --add-port=2375/tcp --permanent

firewall-cmd --reload

Docker学习第二天,docker,学习,容器


三 idea中使用docker的小案例

idea设置

Docker学习第二天,docker,学习,容器

Docker学习第二天,docker,学习,容器

mysql

Docker学习第二天,docker,学习,容器

entity

public class Pet {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String name;
    private Integer age;
    private String kind;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }
}

mapper

public interface PetMapper extends BaseMapper<Pet> {

}

service

public interface PetService {
    List<Pet> getAllPet();
}

ServiceImpl

@Service
public class PetServiceImpl implements PetService {
    @Autowired
    private PetMapper petMapper;
    @Override
    public List<Pet> getAllPet() {
        return petMapper.selectList(new QueryWrapper<>());
    }
}

 controller

@RestController
public class PetController {
    @Autowired
    private PetService petService;

    @GetMapping("/getAllPet")
    public List<Pet> getAllPet(){
        return petService.getAllPet();
    }
}

dockerfile

Docker学习第二天,docker,学习,容器

点击箭头

Docker学习第二天,docker,学习,容器

Docker学习第二天,docker,学习,容器

启动

Docker学习第二天,docker,学习,容器

访问服务接口

Docker学习第二天,docker,学习,容器文章来源地址https://www.toymoban.com/news/detail-804862.html

到了这里,关于Docker学习第二天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker学习路线13:部署容器

    部署容器是使用Docker和容器化管理应用程序更高效、易于扩展和确保跨环境一致性性能的关键步骤。本主题将为您概述如何部署Docker容器以创建和运行应用程序。 Docker容器是轻量级、可移植且自我包含的环境,可以运行应用程序及其依赖项。部署容器涉及启动、管理和扩展这

    2024年02月15日
    浏览(44)
  • Docker学习路线10:容器安全

    容器安全是实施和管理像Docker这样的容器技术的关键方面。它包括一组实践、工具和技术,旨在保护容器化应用程序及其运行的基础架构。在本节中,我们将讨论一些关键的容器安全考虑因素、最佳实践和建议。 隔离对于确保容器化环境的强大性和安全性至关重要。容器应该

    2024年02月16日
    浏览(39)
  • Docker学习路线9:运行容器

    要启动一个新的容器,我们使用 docker run 命令,后跟镜像名称。基本语法如下: 例如,要运行官方的 Nginx 镜像,我们可以使用: 这会启动一个新的容器,并将主机的端口 8080 映射到容器的端口 80。 要列出所有正在运行的容器,请使用 docker ps 命令。要查看所有容器(包括已

    2024年02月16日
    浏览(40)
  • 轻松上手Docker:学习如何创建和运行自己的Docker容器

    容器化技术,它是一种虚拟化技术,用于在计算机系统中隔离和运行应用程序。容器将应用程序及其所有依赖项打包到一个独立的、可移植的环境中,使其能够在不同的计算机或操作系统上运行。 容器的特点 :隔离性、轻量级、可移植性、弹性伸缩、生态系统。 目前最流行

    2024年02月04日
    浏览(51)
  • Docker 容器学习笔记以及安装配置

    容器的由来 早先,虚拟机通过操作系统实现相互隔离,保证应用程序在运行时相互独立,避免相互干扰。但是操作系统又笨又重,耗费资源严重: 容器技术只隔离应用程序的运行时环境但容器之间共享同一个操作系统,这里的运行时环境指的是程序运行依赖的各种库以及配

    2024年02月09日
    浏览(33)
  • Docker学习路线7:构建容器镜像

    容器镜像是可执行的软件包,包括运行应用程序所需的所有内容:代码、运行时、系统工具、库和设置。通过构建自定义镜像,您可以在任何支持Docker的平台上无缝地部署应用程序及其所有依赖项。 构建容器镜像的关键组件是 Dockerfile 。它本质上是一个包含有关如何组装 D

    2024年02月16日
    浏览(49)
  • docker学习-容器中的进程

    进入容器nginx:docker exec -it nginx-demo /bin/bash [root@192 docker]# docker exec -it nginx-demo /bin/bash root@9afab2acfaa4:/# 执行上述命令,命令提示符会从host主机的提示符变成容器的提示符(host主机就是容器所在的主机),容器的提示符是root@9afab2acfaa4:/#,9afab2acfaa4正是容器的id,也就是docker ps命令

    2024年02月09日
    浏览(30)
  • Docker学习路线8:容器注册表

    容器注册表 是Docker容器镜像的集中存储和分发系统。它允许开发人员以这些镜像的形式轻松共享和部署应用程序。容器注册表在容器化应用程序的部署中发挥着关键作用,因为它们提供了一种快速、可靠和安全的方式,在各种生产环境中分发容器镜像。 以下是当今流行的容

    2024年02月17日
    浏览(63)
  • Ubantu docker学习笔记(七)容器网络

    容器网络主要用于容器和容器之间、容器与外网、容器和宿主机的通信和连接。 参数 命令 -f 过滤条件 -format string 格式化打印结果 –no-trunc 不缩略显示 -q 只显示网络号 参数 命令 -d 指定网络格式 –subnet strings 指定子网网段 –ip-range strings 指定容器的IP范围 –gateway strings 子

    2023年04月27日
    浏览(35)
  • Docker容器学习:搭建ownCloud个人网盘

    目录 前提环境 拉取镜像 创建容器 创建mysql容器: 创建OwnCloud容器,并连接到数据库: 创建Nginx容器: 配置nignx 基于Centos7.9版本环境安装Docker-ce:24.0.5 但是值得注意的是OwnCloud自带有Web功能,所以不使用Nginx一样是可行的! 如果你想要添加SSL实现保密传输,那可能就需要一些

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包