使用Docker步骤:
- 安装Docker
- 去Docker仓库找到某个软件对应的镜像
- 使用Docker运行这个镜像,生成一个Docker容器
- 对容器的启动停止就是对软件的启动停止
镜像基本操作
docker search mysql
以下两种从Docker仓库找某个软件对应镜像的方法:
docker pull mysql
下载最新版本的mysql,用docker pull mysql:5.5来下载某个版本的镜像
docker images
查看本机所有的Docker镜像
docker rmi image-id
删除指定的本地镜像
容器基本操作
docker run --name mytomcat -d tomcat:latest
起一个名为mytomcat的tomcat容器,--name是起的容器的名称,-d 是在后台运行,tomcat是镜像的名称,latest 是Tag,也就是这个镜像的版本,默认为latest(可以不加)
docker ps
查看有哪些容器正在运行
docker ps -a
查看所有状态的容器,包括已经退出的容器
docker stop container_id
停止一个容器
docker start container_id
重启一个容器
docker rm container_id
当容器为停止状态时,才可以用rm命令删除这个容器
起容器时做端口映射:docker run -d -p 8888:8080 tomcat
其中-p 是把主机端口号映射到容器端口; 主机端口:容器内部的端口;没有--name参数,会自动分配一个;访问http://localhost:8888既可以访问到tomcat(在自己的主机上起容器时)
其中的-p可以定义多个,即定义多个端口映射规则。
⚠️注意:只有在防火墙off的状态下才能成功访问到,不然是404页面
docker logs container_id
查询某个容器的日志
一个镜像可以起多个容器,同时用不同的主机接口对应不同的容器:
docker run -d -p 8889:8080 tomcat
第一个tomcat容器用8889端口做映射docker run -d -p 8887:8080 tomcat
第二个tomcat容器用8887端口做映射
docker container rm $(docker container ls –aq) 删除所有的已经停止的docker container
其中 docker container ls -aq
是列出所有容器的id,包括已经停止的容器。
更多的命令查询:docker官方文档
示例:本地起mysql的容器
1. 在Docker Hub做搜索,查到下载MySql镜像的命令,如下图(当然,这一步也可以用命令行输入docker search mysql,但不推荐)
如上图所示,复制代码框里的命令,在Terminal执行即可
2. 上一步执行成功的验证:输入docker images可以找到名为mysql的镜像,tag为latest
此时可以运行容器:$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
注意,上述起mysql的命令,在刚才打开的官方文档上就可以找到
3. 上一步没有做端口映射,所以访问不到,停止并删除容器,再用以下命令启动一下:
$ docker run -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
此时在mysql的GUI中连接localhost:3306端口,输入用户为root user,密码为123456,就可以访问到了
4. 更多内容参照docker hub中关于mysql的官方文档
扩展
在基础镜像之上,添加更多条件,构造自定义的docker image时,需要创建一个Dockerfile(镜像描述文件)。笔记如下,以后在做补充:
Reference:
docker hub中关于mysql的官方文档