docker入门--简单应用

安装docker(虚拟机里linux下)

  1. 安装docker
yum install docker
  1. 启动docker
systemctl start docker
  1. 查看docker版本
docker -v
  1. 将docker设置为开机启动
systemctl enable docker
  1. 停止docker
systemctl stop docker

镜像操作

  1. 启动docker
systemctl start docker
  1. 搜索镜像
docker search mysql  #搜索mysql镜像
  1. 拉取(下载)镜像
#mysql:5.5。镜像:标签,标签不写默认是最新
Docker pull mysql:5.5
  1. 查看拉取的镜像
docker images
  1. 删除镜像
docker rmi 镜像ID

根据dockerfile构建镜像

  1. 编写dockerfile,开始构建镜像
# . 表示当前目录,当前目录下有Dockerfile
docker build . -t springboot-app:v1 
  1. 将本地镜像打标签,推送远端仓库
# 推送远端仓库,镜像名要用远端仓库的名字(路径)
docker tag springboot-app:v1 harborxx.xx.com/production/springboot-app:v1
docker push harborxx.xx.com/production/springboot-app:v1
# 可能需要登录harborxx.xx.com(官方hub.com的登录,只需docker login命令即可)
docker login -u username -p password harborxx.xx.com
  1. 可启动容器验证
# 映射端口,外部可通过1601端口访问
docker run -d -p 1601:1601 springboot-app:v1
  1. 查看所有容器
docker ps -a

容器操作

软件镜像(类似QQ.exe安装程序)–运行镜像–产生一个容器(正在运行的软件,类似正在运行的QQ)

  1. 搜索镜像
docker search tomcat
  1. 拉取镜像
docker pull tomcat
  1. 根据镜像启动容器
#mytomcat 是自定义的启动的容器的名字(也可以不指定随机生成),tomcat:latest是要启动的镜像名称:标签,-d表示后台运行
docker run --name mytomcat -d tomcat:latest
  1. 查看运行中的容器(可以查看容器启动的端口)
docker ps
  1. 停止容器
docker stop 容器ID
  1. 查看所有容器,可以查看所有容器,也可以列出已经停止的容器
docker ps -a
  1. 启动容器
docker start 容器ID
  1. 删除容器(需要先停止容器)
docker rm 容器ID

以交互式模式启动容器

交互模式类似进入容器内部以shell命令操作:
在这里插入图片描述

  1. 根据镜像启动容器时,就直接进入交互式模式
docker run -it tomcat:latest
  1. 退出交互模式,退出时就停止了容器
exit
  1. 启动一个容器,只是启动不能进入交互模式
Docker start 容器ID
  1. 启动后在进入交互模式
docker exec -it 容器ID bash

启动一个可以外部访问的容器

启动一个可以外边访问的容器,需要端口映射(把主机端口映射到容器内部端口)

  1. 根据镜像启动容器
#容器启动的端口是8080,-p可以把主机的8888端口映射到容器的8080端口,主机端口:容器端口
docker run -d -p 8888:8080 tomcat:latest
  1. 在外边主机上访问容器
访问http://主机ip:8888即可
  1. 前提需要关闭Linux防火墙
Service firewalld status  #查看防火墙状态
Service firewalld stop#关闭防火墙
  1. 查看容器日志
docker logs 容器ID
  1. 一个镜像可以启动多个容器
docker run -d -p 8888:8080 tomcat:latest
docker run -d -p 8889:8080 tomcat:latest
docker run -d -p 8887:8080 tomcat:latest

启动需要带参数的容器

若启动mysql容器使用:docker run --name mysql01 -d mysql:latest,,然后Docker ps -a 查看会发现启动状态是exited,异常退出的,,然后用docker logs 容器ID 查看日志,提示:error:database is uninitialized and password option is not specified。 You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD。。。
原因是mysql需要配置密码参数项

  • 带密码参数启动mysql(不带-p的话也不能用,不能访问)
docker run --name mysql01  -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#这样在外面主机连接mysql容器就可以连接上,正常使用mysql数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值