官方文档:Reference documentation | Docker Docs
容器镜像地址:
部署mysql
#docker run:创建并运行一个容器,-d后台运行
#--name 给容器取一个名字,必须唯一
#-p 设置端口映射
#-e配置环境变量
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=hello \
mysql
#查看容器
docker inspect mysql
docker常见命令
#查看镜像列表
#docker images
#创建并运行容器
docker run [name]
#启动容器
docker start [name]
#停止容器
docker stop [name]
#查看日志
docker logs [name]
#持续输出日志 ctrl c停止输出
#docker log -f [name]
#查看当前docker的运行状态
docker ps
#删除镜像
docker rmi [name]
#删除容器
docker rm [name]
#强制删除容器
docker rm [name] -f
#进入容器 -it值添加一个可输入终端
#bash 命令行
docker exec -it [name] bash
#推出容器
exit
#拉取镜像
docker pull [name]
#推送镜像
docker push [name]
#停止运行容器
docker stop [name]
数据卷
数据卷是一个虚拟目录,是容器内目录与宿主机目录之间双向映射的桥梁
宿主机文件系统
/var/lib/docker/volumes/[html|conf]/_data
nginx容器
/etc/nginx/conf
/usr/share/nginx/html
数据卷操作
#创建数据卷
docker volume create
#查看所有数据卷
docker volume ls
#删除指定数据卷
docker volume rm
#查看某个数据卷的详情
docker volume inspect
#清除数据卷
docker volume prune
#查看挂载信息
#docker inspect [name]
#挂载数据卷 tip:如果挂载了数据卷且数据卷不存在,会自动创建数据卷
docker run -v 数据卷:容器内目录
#部署nginx并挂载(创建)数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
#mysql容器的数据挂载
#tip 本地目录必须以/或者./开头,如果直接以名称开头,会被识别为数据卷而非本地目录
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/init:/var/docker-entrypoint-initdb.d \
-v /root/mysql/conf:/etc/mysql/conf.d \
mysql
自定义镜像
镜像就是包含应用程序,应用程序的系统函数库,运行配置等文件的文件包,构建镜像的过程就是把上述文件打包的过程
网络
默认情况下,所有容器都是以bridge方式连接到docker的一个虚拟网桥上
查看容器
#查看容器
docker inspect [name]
docker网络操作命令
#创建一个网络
docker network create
#查看所有网络
docker network ls
#删除指定网络
docker network rm
#清除未使用的网络
docker network brune
#使指定容器连接加入某网络
docker network connect
#使指定容器连接离开某网络
docker network disconnect
#查看网络详细信息
docker network inspect
可视化portainer
下载解压汉化包
Release public · eysp/public · GitHub
#解压汉化包
tar -zvxf public-public.tar.gz
mv public-public public
#拉取镜像
docker pull portainer/portainer-ce:2.9.1
#创建容器
docker run -d --restart=always \
--name="portainer" \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-v /www/env/docker/portainer/public:/public \
portainer/portainer-ce:2.9.1
##tip 访问本9000端口