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 | Dockerwww.docker.com
Linux版
参考官网教程
Install Docker Engine on Ubuntudocs.docker.com
其他教程
Ubuntuyeasy.gitbook.io
如果运行hello-word时镜像拉取失败,参考上面的国内镜像设置,或者自己在网上找些镜像源
https://github.com/docker-practice/docker-registry-cn-mirror-test/actions/runs/114253445github.com阿里云镜像
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台cr.console.aliyun.comUbuntu中创建文件
- 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

name为镜像名 ,description为镜像描述,stars关注人数,official是否官方,automated是否自动配置
拉取镜像
docker pull 镜像名 此时默认latest版本或
docker pull 镜像名:5.5 此时为5.5版本删除镜像
docker rmi IMAGEID
注意是镜像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地址,而是像下面那样

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

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