Docker 基础操作

339 阅读2分钟

使用Docker步骤:

  1. 安装Docker
  2. 去Docker仓库找到某个软件对应的镜像
  3. 使用Docker运行这个镜像,生成一个Docker容器
  4. 对容器的启动停止就是对软件的启动停止

镜像基本操作

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官方文档

docker hub中关于mysql的官方文档