镜像:
- 查看本地镜像:docker images
- 拉取nginx镜像:docker pull nginx
- 导出镜像:docker save -o [保存的目标文件名称] [镜像名称:版本号 | 镜像ID]
保存的镜像名称,后缀名为 tar (docker save -o nginx.tar nginx:latest)- 删除镜像:docker rmi 镜像ID或者镜像名称(docker rmi nginx:latest)
- 导入镜像:docker load -i nginx.tar 导入后如果查看不到镜像名称,可以使用 docker tag 为镜像指定名称 docker tag 镜像ID 镜像名称:tag (docker tag 605c77e624dd nginx:latest)
容器:
- 运行容器:docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像ID或者镜像名称(docker run -d -p 80:80 --name nginx nginx:latest)
- 查看容器:查看正在运行的容器 (docker ps)查看全部容器( docker ps -a) 查看全部容器ID(docker ps -aq)
- 停止容器:docker stop 容器名称或ID
- 停止所有的容器: docker stop $(docker ps -aq)
- 删除容器:docker rm 容器名称或ID (容器必须是停止状态,才能删除)
- 运行容器:docker run -d -p 80:80 --name nginx 镜像ID 运行容器
- 进入容器内部:docker exec -it 容器ID或容器名称 bash 进入容器内部
- 查看日志:docker logs 容器ID或容器名称
数据卷:
1.创建一个tomcat容器
先创建数据卷、再通过名称挂载
如果数据卷不存在,则会自动创建创建一个tomcat容器
1、创建数据卷
webapps
2、把数据卷 webapps 映射到容器的 /usr/local/tomcat/webapps
3、运行容器
docker run -d -p 82:8080 --name tomcat82 -v webapps:/usr/local/tomcat/webapps 容器ID2. 创建一个MySQL容器,给MySQL挂载本地目录 直接以目录的方式挂载如果映射的宿主机目录不存在,则会自动创建
docker run -d \
--name mysql3306 \
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /tmp/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7.25
自定义镜像Dockerfile:
实现步骤:
1、上传资料中的 docker-demo.jar 到服务器
2、编写 Dockerfile文件
FROM java:8-alpine
COPY ./docker-demo.jar /tmp/docker-demo.jar
EXPOSE 8090
ENTRYPOINT java -jar /tmp/docker-demo.jar
3、构建镜像
docker build -t web:1.0 .
4、运行容器
docker run -d -p 8888:8090 --name myweb web:1.0
5、测试
浏览器访问例: http://192.168.138.100:8888/hello/count
DockerCompose
编排部署mysql和tomcat
实现步骤
1、编写一个文件 docker-compose.yml
version: '3.7'
services:
mysql:
image: mysql:5.7.25
container_name: mysql
volumes:
- /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf
- /tmp/mysql/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- 3306:3306
restart: always
tomcat:
image: tomcat
container_name: tomcat
ports:
- 8080:8080
restart: always
2、运行容器
docker-compose up -d 必须在docker-compose.yml文件所在的目录或者子目录下运行3、相关命令
后台运行
docker compose up -d
停止、启动、重启
docker compose stop|start|restart [服务名]
查看日志
docker compose logs -f [服务名]
停止并删除容器
docker-compose down
私服使用
配置如下
{
"registry-mirrors": ["https://p11xf841.mirror.aliyuncs.com"],
"insecure-registries":["http://192.168.138.100:8080"]
}
拉取