一、docker名词
1.镜像(image):一个打包好的环境(最小、可用的)
2.容器(container):是由镜像实例化出来的,镜像是层文件系统,容器在镜像的文件系统之上再加一层,打包的时候会将这两层合并
3.挂载(volume:卷):容器中的数据卷
sudo docker run -d -p [宿主机端口]:[docker容器端口] -v [数据卷名字]:[docker容器中要挂载的绝对路径] [镜像名]:[TAG]
sudo docker run -d -p xxxx:xxxx -v [docker容器中的绝对路径] [镜像名]:[TAG]
sudo docker volume list
[root@VM_0_6_centos data]
DRIVER VOLUME NAME
local 26f3557470a8a61f80cd36ae95f4e50f9eca2795a73acd7edde9a4de86ac7252
local juming
sudo docker volume inspect [卷名字]
[root@VM_0_6_centos data]
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/juming/_data", //宿主机上的数据卷存放路径
"Name": "juming",
"Options": {},
"Scope": "local"
}
]
[root@VM_0_6_centos data]
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/26f3557470a8a61f80cd36ae95f4e50f9eca2795a73acd7edde9a4de86ac7252/_data",//宿主机上的数据卷存放路径
"Name": "26f3557470a8a61f80cd36ae95f4e50f9eca2795a73acd7edde9a4de86ac7252",
"Options": {},
"Scope": "local"
}
]
sudo docker run -d -p xxxx:xxxx -- name xxxx -v volume:/usr/data:ro [镜像名]:[TAG]
sudo docker run -d -p xxxx:xxxx -- name xxxx -v volume:/usr/data:rw [镜像名]:[TAG]
二、安装基本命令
1.安装docker(centos)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.启动docker服务
systemctl start docker
3.配置镜像加速

然后按照提示操作即可
4.docker帮助命令
sudo docker --help
三、容器基本命令(持续补充)
1.pull 镜像
sudo docker pull [镜像名]:[版本]
2.运行容器
sudo docker run -it -d -- name [给容器起的名字] -p [宿主机端口]:[docker容器中的端口] -v [宿主机的绝对路径]:[docker容器中的绝对路径] [docker镜像的名字]:[版本] /bin/bash
3.退出容器终端操作
exit
4.查看容器列表
sudo docker ps
sudo docker ps -a
5.停止容器
sudo docker stop [容器id]
5.进入容器内,并执行命令
sudo docker exec -it [容器名] /bin/bash
6.删除容器(前提:容器已停止运行,不能删除正在运行的容器)
sudo docker rm [容器id]
sudo docker container prune
7.启动已经停止的容器
sudo docker start [容器id]
8.重启容器
sudo docker restart [容器id]
9.导出容器
sudo docker export [容器id] > [要导出的路径]
10.查看容器输入日志
sudo docker logs -f [容器id]
11.查看容器信息
sudo docker inspect [容器id]
四、镜像的基本操作命令(持续补充)
1.查看所有镜像
sudo docker images
2.搜索镜像
sudo docker search [要搜索的内容]
3.删除镜像
sudo docker rmi [镜像id]
4.提交镜像
sudo docker commit -m="提交信息" -a="作者" [容器id] [目标镜像名]:[版本]
五、启动常用容器
1.mysql
sudo docker pull mysql:5.7
sudo docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql --name [自定义的容器名称] -e MYSQL_ROOT_PASSWORD=[设置的root账户的密码] mysql:[版本号] --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
2.nginx
cd /home/hmj/docker/project/nginx
sudo mkdir -p {html,conf,logs}
sudo docker pull nginx
sudo docker run -d --name nginx-test -P nginx
sudo docker cp [容器ID]:/etc/nginx/nginx.conf /home/hmj/docker/project/nginx/conf
sudo docker run -d --name ken_nginx -p 80:80 -v /home/hmj/docker/project/nginx/html/:/usr/share/nginx/html -v /home/hmj/docker/project/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/hmj/docker/project/nginx/logs:/var/log/nginx nginx
vim nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
server{
listen 80;
charset utf-8;
server_name www.haomingjian.top;
location /quanwai/test/ {
proxy_pass http://www.haomingjian.top:8989/quanwai/test/;
}
}
}
sudo docker restart ken_nginx