安装docker

yum install -y docker

启动docker

systemctl start docker

重启服务

systemctl restart docker

查看docker镜像

docker image

Repository:镜像所在仓库名称
Tag:镜像版本
Image ID:镜像 ID
Created:镜像创建时间
Size:镜像大小

搜索镜像

docker search 镜像名称

NAME: 仓库名称
DESCRIPTION:镜像描述
STARS: 用户评价,反应一个镜像的受欢迎程度
OFFICIAL: 是否官方
AUTOMATED: 自动构建,表示该镜像由 Docker Hub 自动构建流程创建的

修改默认镜像地址
vi /etc/docker/daemon.json
{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

修改之后需要重启服务

拉取镜像

docker pull [image:tag] 如果没有tag默认为lastest

删除镜像

删除指定镜像
docker rmi [repository:tag] 不加tag则默认tag为 lastest
docker rmi [imageId]
删除所有镜像
docker rmi $(docker images -q)

导入导出镜像

导出镜像 :docker save [repository:tag/images] > /root/xxx/zzz.tar.gz
导入镜像: docker load < /root/xxx/zzz.tar.gz

docker容器

以交互方式运行容器:

docker run -i -t --name=容器名称 repository:tag /bin/bash
docker run -it
docker run -it --name=容器名称 imageID /bin/bash

以守护进程方式运行容器:

docker run -di --name 容器名称 repository:tag
docker run -di --name 容器名称 imageID
注意:通过 run 创建并进入容器之后,如果使用 exit 命令退出容器,则容器停止。
再次进入该容器,先使用 start 启动容器,再使用 exec/attach 命令进入容器。
创建容器常用的参数说明:

  • -i:表示运行容器
  • -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即
    分配一个伪终端。
  • –name :为创建的容器命名。
  • -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使
    用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后
    共享到容器上。
  • -d:在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会
    自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
  • -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p
    做多个端口映射
  • -e 指定环境变量
启动容器

docker start 容器名称
docker exec 进入处于运行状态的容器
docker attach 进入处于运行状态的容器,退出则终止

查看宿主机中存在的容器

docker ps 正在运行的
docker ps -a 历史运行过的容器
docker ps -l 最近运行过的容器

删除容器

docker rm

停止容器

docker stop 容器名称

进入已经运行的容器

docker exec -it 容器名称 /bin/bash

复制文件到容器中

docker copy /root/docker.txt mycentos7:/usr/local
系统目录不需要加容器名称,容器文件需要加容器名称

docker 部署mysql

拉取mysql镜像
docker pull mysql:5.6
创建并运行容器
docker run -di --name=mysql5.6 -p33306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.6
进入容器
docker exec -it mysql5.6 /bin/bash

docker 部署tomcat

拉去tomcat镜像
docker pull tomcat:7-jre7
创建并部署容器
docker run -di --name=my_tomcat -p 9000:8080 tomcat:7-jre7

docker 部署nginx

拉去镜像
docker pull nginx:1.21.1
创建并部署容器
docker run -di --name=my_nginx -p 9080:80 nginx:1.21.1
进入容器
docker exec -it my_nginx /bin/bash
启动nginx
/usr/sbin/nginx

docker部署redis

拉取镜像
docker pull redis
创建并部署容器
docker run -di --name=my_redis -p 16379:6379 redis

搭建tomcat服务并部署web应用

docker run -di --name my-tomcat -v /root/webapps: /usr/local/tomcat/webapps -p
8888:8080 imageID

  • -v 磁盘映射,前面是宿主机的目录,后面是tomcat的目录,tomcat应用的容器目录为:容器名:/usr/local/tomcat/webapps
  • -p 端口映射,前面的参数为宿主机的端口,后面的是容器的端口

制作镜像

制作步骤

  • 1、拉去centos镜像
  • 2、创建并部署容器
  • 3、进入容器安装软件
  • 4、设置必要的开机启动项,确保服务可用

以安装tomcat服务环境为例,如果tomcat需要能运行准备的基础环境有

  • jdk
  • tomcat
  • war包
    则需要事先安装好以上环境

步骤:
1、下载基础镜像(centos7)
docker pull centos:7
2、安装 64 位 jdk(注意:jdk 要和 os 的位数一致)
vi /etc/profile
export JAVA_HOME=/opt/jdk
export PATH=JAVA_HOME/bin:$PATH
source /etc/profile
3、安装 tomcat
在容器中解压tomcat包,然后启动
4、生成新的镜像
docker commit 容器名称或者容器 ID 新镜像名称

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐