Docker基础学习
Docker基础命令
systemctl start docker
systemctl status docker
systemctl stop docker
systemctl restart docker
systemctl enable docker
Docker镜像命令
docker rmi docker images -q
docker image rm < 镜像名称或ID>
docker image rm -f < 镜像名称或ID>
docker images -q name
docker build -f BackFile -t back:v1
Docker容器命令
docker ps -a
docker kill -s KILL name
docker exec -it name /bin/bash
docker export 1e560fca3906 > ubuntu.tar
docker stop name
docker rm name
docker rm -f 1e560fca3906
docker rm docker ps -aq
docker inspect name
docker stop $( docker ps -a -q )
docker rm $( docker ps -a -q )
docker stop $( docker ps -a -q ) && docker rm $( docker ps -a -q )
docker exec -it myMysql mysql -u root -p123456
docker update --restart = always < 容器名称>
docker inspect < 容器名>| grep RestartPolicy
Docker容器的数据卷
docker run .. .. -v 宿主机目录(文件):容器内目录(文件).. .
docker run -it --name = c1 -v /root/data:/root/data_container centos:7
docker volume ls
docker inspect name
Docker复制主机文件命令
docker cp < host_path> < container_name_or_id> :< container_path>
docker cp /home/user/data/. my-container:/app/data/
Docker端口映射
docker run -it -p [ 宿主机端口] :[ 主机端口] --name [ 名称] [ 镜像名称]
docker run --name myMysql -p 23306 :3306 -e MYSQL_ROOT_PASSWORD = 123456 -d mysql:5.7
MYSQL创建一个容器
docker run -id \
> -p 3307 :3306 \
> --name = c_mysql \
> -v $PWD /conf:/etc/mysql/conf.d \
> -v $PWD /logs:/logs \
> -v $PWD /data:/var/lib/mysql \
> -e MYSQL_ROOT_PASSWORD = 123456 \
> mysql:latest
docker run --name myMysql -p 23306 :3306 -e MYSQL_ROOT_PASSWORD = 123456 -e MYSQL_DATABASE = health -e MYSQL_CHARSET = utf8 -d mysql:5.7
DockerFile
dockerfile常用指令
docker build -t myubuntu:01 .
docker build -t 镜像名:版本号 DockerFile所在的文件目录
FROM centos
WORKDIR /app
COPY src/ /app
RUN echo 321 >> 1 .txt
CMD tail -f 1 .txt
Docker构建镜像命令
docker build -t [ name] .
Docker-compose配置文件
version: "3.8"
services:
tomcat:
container_name: tomcat00
image: tomcat:latest
ports:
- 8080 :8080
tomcat01:
image: tomcat:latest
ports:
- 8081 :8081
redis:
image: redis:5.0
ports:
- "6380:6379"
mysql:
image: mysql:latest
ports:
- "3307:3306"
environment:
- "MYSQL_ROOT_PASSWORD=12345678"
volumes:
- /root/mysqldata1:/var/lib/mysql
volumes:
mysqlData:
docker-compose up
docker-compose down
docker-compose down --rmi all
docker-compose build --no-cache name
docker-compose up --force-recreate --build
DockerFile和Docker-compose区别
Dockerfile: 用于定义如何构建单个 Docker 镜像,包括基础镜像、添加文件、运行命令、设置环境变量等。docker-compose: 用于定义和管理多个相关联的 Docker 容器,以创建一个完整的容器化应用程序。通过一个 YAML 文件配置多个容器、网络、卷等,简化了容器组合和协调的过程。
Docker创建Redis容器并指定用户名密码
docker run --name myRedis -p 6379 :6379 -d redis:alpine --requirepass your_password