docker 文件映射到外面_Docker

1.什么是docker?

Docker是一个基于Go语言并遵从Apache2.0协议开源的应用容器引擎。

它可以将应用及依赖包打包到一个轻量级、可移植的容器中,并发布到Linux系统中,可以实现虚拟化,容器完全使用沙箱机制,相互之间不会有任何接口,性能开销极低。

Docker支持将软件编译成一个镜像,然后在镜像中做好软件配置,然后便可以直接使用这个镜像。

2.几个概念

  • docker主机(Host):安装了docker的机器,如linux上面的docker,windows上面的docker
  • docker镜像(Image):包含应用程序及相关依赖的一个系统,类似于只读文件,静态
  • docker容器(Container):用来运行镜像,一个镜像可以有多个容器,比如同样的操作系统,你可以安装在无数个电脑中,相当于进程,动态
  • docke客户端(Client):连接docker主机进行操作,通过命令行等工具运行
  • docker仓库(Registry):保存打包好的软件镜像

3.docker安装

windows

需要专业版且支持hyper-V

Get Started with Docker | Docker​www.docker.com
63f17354e317ce2fbe69c978ac4a30b1.png

Linux版

参考官网教程

Install Docker Engine on Ubuntu​docs.docker.com
376aad63f564f3e0ac746e08d769391e.png

其他教程

Ubuntu​yeasy.gitbook.io
88fc06755fec6821904e545b521f408d.png

如果运行hello-word时镜像拉取失败,参考上面的国内镜像设置,或者自己在网上找些镜像源

https://github.com/docker-practice/docker-registry-cn-mirror-test/actions/runs/114253445​github.com

阿里云镜像

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台​cr.console.aliyun.com

Ubuntu中创建文件

  • touch mmmm.txt

删除文件

  • rm mmm.txt

编辑文件

  • 执行 vi mmmm.txt 进入编辑器(默认命令模式),
  • 点击a或i进入编辑模式,然后可以输入内容
    然后按键盘上的esc键退出编辑模式(进入到命令模式),
  • 输入冒号:
  • 再输入wq保存并退出

如果权限不够,前面要加sudo

启动docker

 sudo systemctl enable docker
 sudo systemctl start docker

重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

显示本地已安装镜像源

docker images

搜索网上的镜像源

docker search   名称

如mysql

d9a5c8d6831e7e80206596ee362e5759.png

name为镜像名 ,description为镜像描述,stars关注人数,official是否官方,automated是否自动配置

拉取镜像

docker pull 镜像名           此时默认latest版本

docker pull 镜像名:5.5           此时为5.5版本

删除镜像

docker rmi IMAGEID

b8de5eea7cd39fef2fd0118ca9732038.png

注意是镜像id,如上图

容器操作

已经有软件镜像>运行镜像>产生容器>映射

以tomcat为例
docker pull tomcat
docker run --name mytomcat -d -p 8181:8080 tomcat
此时便可以通过访问主机的8181端口来访问容器的8080端口
以mysql为例
docker pull mysql
docker run --name mmysql -p 8888:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
mysql需要指定参数,像这里指定了root密码
如果docker装在虚拟机里,在外面的操作系统访问时,不能用localhost,需要用虚拟机的ip地址
  • 运行docker run --name 定义容器名 -d -p 主机端口:容器端口 镜像名:镜像版本
  • 如 docker run --name thetomcat -d -p 8080:8081 tomcat:latest
  • -d表示后台运行,如果是latest版本,可以省略:latest
  • -p指定端口映射
  • --name可以自定义容器名
  • 查看运行中的容器 docker ps
  • 查看所有容器 docker ps -a
  • 停止 docker stop 容器名或容器的id
  • 启动 docker start 容器名或容器id
  • 删除 docker rm 容器名或容器id
  • 查看容器日志 docker logs 容器名或容器id

具体各个镜像的配置参数,可以到docker hub官网去相关镜像查阅

命令行中输入ip addr可查看ip地址

如果不显示ip地址,而是像下面那样

b8f983c0f0d4af5e03394bea92803595.png

输入 service network-manager restart重启网卡即可,之后再输入ip addr即可

5e6d971cf49768a5f65ac3ae402032d0.png

版权声明:本文为weixin_32968007原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。