docker
- 启动docker
systemctl enable --now docker
- 检查
docker version
docker镜像加速
阿里云获取个人加速地址docker运行nginx服务
1
2
3
4
5
6
7docker run
-d 后台运行
-p 端口映射
-e 传参
-v 挂载
--name 指定名称
--restart==always docker启动后容器启动
查看镜像docker images
本地有就启动本地镜像,没有就从远程仓库下载
- 最新版nginx
docker run -d -p 80:80 nginx:latest
- 指定版本
docker run -d -p 80:80 nginx:1.24
查看容器docker ps
运行中的容器docker ps -a
可以看到出错或未运行的容器
数据包转发:echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
sysctl -p
docker镜像自定义
选择基础镜像
docker run -d -p 80:80 --anian_v1 nginx:1.24
连接容器
docker exec -it anian_v1 /bin/bash
上传源码
docker cp anian.html anian_v1:/usr/share/nginx/html/
生成镜像
docker commit anian_v1 anian:html_anian_v1
检查
docker imagers | grep html
数据持久化
1
2
3mysql数据
宿主机:/server/data/mysql/
容器:/var/lib/mysql/mysql容器
docker run -d -p 3306:3306 --name mysql --restart==always -e MYSQL_ROOT_PASSWORD=1 \
-v /server/data/mysql : /var/lib/mysql/ mysql:8.0-debian
查看宿主机文件
ls /server/data/mysql
连接mysql容器
docker exec -it mysql mysql -uroot -p1
创建库
create database anian
删除mysql容器
docker rm -f mysql
重新创建容器并查看库
docker run -d -p 3306:3306 --name mysql --restart==always -e MYSQL_ROOT_PASSWORD=1 \
-v /server/data/mysql : /var/lib/mysql/ mysql:8.0-debian
docker exec -it mysql mysql -uroot -p1
show database
- 自动化脚本编写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16|Dockerfile|含义|
|----|----|
|Dockerfile开头部分|
|FORM|指定基本镜像类似pull下载镜像|
|LABEL|指定容器属性|
|MAINTAINER|创建Dockerfile使用的变量|
|Dockerfile中间部分|
|RUN|系统配置,服务配置,部署,不能出现终端阻塞|
|ADD|指定文件或者目录拷贝到容器,自解压tar包|
|COPY|指定文件或者目录拷贝到容器,不解压
|WORKDIR|指定容器默认工作目录|
|VOLUME|挂载数据卷|
|Dockerfile结尾部分|
|EXPOSE|指定镜像对外暴露端口,端口映射|
|CMD|指定容器入口命令 CMD ["命令","参数01","参数02"]|
|ENTRYPOINT|指定容器入口命令 ENTRYPOINT ["命令","参数01","参数02"]|
创建Dockerfile后,在当前目录构建镜像docker build . -t 'nginx:1.24-debian'
- 总结
1
2
3
4
5|docker镜像|指令|
|----|----|
|查看|docker images|
|下载|docker pull|
|删除|docker rmi|
1 | |docker容器|指令|参数| |