docker常用指令
1、查看docker信息
docker system df
2、删除镜像
docker rmi --删除镜像
docker image prune --删除虚悬镜像
3、守护态运行
docker run -p 8080:8080 -d tomcat
--容器起名字
docker run -p 8081:8080 --name tomcat -d tomcat
4、删除容器
docker rm -f 4165845d34e0
docker container prune 一次删除所有的已停止的容器
5、进入容器
docker exec -it 4165845d34e0 /bin/bash
6、定制镜像
6.1、简单应用
创建Dockerfile文件名
----------编写Dockerfile
FROM tomcat:latest
COPY index.jsp /usr/local/tomcat/webapps/ROOT
---------编译镜像
docker build -t myshop .
-- -t 表示镜像名称
-- . 表示在当前目录下使用 Dockerfile编译镜像,且指定当前目录为 “上下文”,上下文非常重要
=====编译原理,1.打包上下文,传输到 docker server;2.docker server 使用Dockerfile和传输上来的上下文构建出镜像
6.2、Dockerfile的其他命令
CMD --执行命令,只能使用一次
ENTRYPOINT --执行命令,只能使用一次
EVN --定义环境变量
EXPOSE 8080 3306 --开发端口
volume --定义数据卷
WORKDIR --类似于CD,进入一个目录(切换目录),docker exec -it myshop /bin/bash 会改变交互式运行时,进去后直接定位的工作目录
7、docker compose,容器编排环境
=======简单的例子
version: '3.1'
services:
tomcat:
restart: always
image: tomcat
container_name: tomcat
ports:
- 8080:8080
=============执行
docker-compose up -d
docker-compose down
8、部署mysql的docker-compose.yml
version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: - 3306:3306 volumes: - ./data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8083:8080
9、部署tomcat的docker-compose.yml
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8080:8080 volumes: - ./webapps:/usr/local/tomcat/webapps environment: TZ: Asia/Shanghai