# dockerStudy **Repository Path**: corner_h/dockerStudy ## Basic Information - **Project Name**: dockerStudy - **Description**: docker 学习记录 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-01 - **Last Updated**: 2024-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # docker ## 指令 ### **镜像** 一个镜像可以理解为一个计算机,由创建jdk17容器可以看出。dockerfile需要配置jdk环境变量 **增** ```bash docker build -t 镜像名 . #.表示dockerfile在当前目录 ``` **删** ```bash docker rmi -f 镜像名:版本 或者 镜像id ``` **查** ```bash docker search 镜像名 #查询仓库的xx镜像 docker images # 查询已经拉取过的镜像 ``` **拉** ```bash docker pull 镜像名:版本 #不指定版本则为latest,表示最新版本 ``` **导出已存在的镜像** ```bash docker save 镜像名:版本 或者 镜像id | gzip > 镜像名.tar.gz ``` ### **容器** 一个容器可以理解为一个计算机,由mysql映射(挂载)文件可以看出 **增** ```bash docker run -it/d --name 容器名 镜像名:版本 或者 镜像id # -it表示创建容器启动镜像并进入容器,id则不进入。 进入容器,-id则不进入 ``` **删** ```bash docker rm -f 容器名 或者 容器id ``` **查** ```bash docker ps # 查看正常启动的容器 docker ps -a #查看所有启动的容器 ``` **查看某个容器的日志** ```bash docker logs 容器名 ``` **进入容器** ```bash docker exec -it 容器名 或者 容器id \bin\bash ``` **创建mysql容器** ```bash docker run -d -p 3306:3306 --name mysql -v /root/data/mysql/conf/:/etc/mysql/conf -v /root/data/mysql/data/:/var/lib/mysql -v /root/data/mysql/log/:/var/log -e MYSQL_ROOT_PASSWORD=root mysql:latest # 关于映射(挂载),冒号前面是虚拟机(远程服务),后面是docker容器 ``` **创建redis容器** ```bash docker run \ -d \ -p 6379:6379 \ --name redis \ -v /home/cgt/redis/data:/data \ -v /home/cgt/redis/redis.conf:/etc/redis/redis.conf \ redis:7.0 redis-server /etc/redis/redis.conf # 两个数据卷分别挂载持久化数据和配置,挂载配置文件后需要告诉redis用指定配置文件运行,所以在命令最后加上了,redis-server /etc/redis.conf 。如果要设置密码,需要修改redis配置文件 # Redis配置文件,redis.conf # Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no # 指定Redis监听端口,默认端口为6379 port 6379 # 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问 # bind 127.0.0.1 protected-mode no #需要密码则打开 # requirepass mima # 持久化 appendonly yes #如果连接超时,执行 echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -p /etc/sysctl.conf ``` **创建nginx容器** ```bash docker run --name nginx -p 8080:8080 -v /root/data/vue/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/data/vue/nginx/dist/:/usr/share/nginx/html/ -v /root/data/vue/nginx/log/:/var/log/nginx/ -d nginx ``` **创建项目服务容器** ```bash docker run -id/t -p 5000:5000 项目镜像 #创建项目服务镜像,然后暴露端口创建容器 ``` **开机时自动重启docker内的容器** 因为计算机关闭后,创建过的容器只会关闭,不会删除,所以可以设置重启,省的每次启动都要重新创建 ```bash docker run -itd --restart=always --name 容器名 使用的镜像:版本 ``` ## 链接 **后华** 链接:https://pan.baidu.com/s/1t1wf7hxeJNFHwytDLafzgA?pwd=cjzd 提取码:cjzd **centOs** https://blog.csdn.net/qq_39135287/article/details/83993574?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170402263416800215071464%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170402263416800215071464&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-83993574-null-null.142^v99^control&utm_term=CentOS%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187 链接:https://pan.baidu.com/s/1cRgNfZ5REf4LQMIyl5K3hQ 提取码:lp6q **vm17** https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 激活码:JU090-6039P-08409-8J0QH-2YR7F **导出虚拟机文件** https://www.filezilla.cn/download/client,下载绿色版,绿色版指免安装