docker pull nginx
#下载nginx镜像
docker images
#查看镜像
docker image ls
#查看镜像
docker pull nginx:1.26.0
#下载镜像完整代码 docker pull 镜像名:版本号
docker pull nginx
#简洁版下载镜像(最新)
docker rmi +IMAGE id 或者 镜像名:版本号 #删除镜像 id可以只输入前三位数
1.命令行
docker ps
#查看正在运行中的容器
docker ps -a
#查看启动过的容器
docker start
+CONTAINER id #重启容器
docker stop
+ CONTAINER id #终止容器
docker restart
+CONTAINER id #重启容器
docker stats
+CONTAINER id # 查看容器资源占用情况
docker logs
+CONTAINER id #查看容器日志
docker rm
+CONTAINER id #删除已停止的容器
docker rm -f
+CONTAINER id #强制删除容器
rm 是删除容器 rmi是删除镜像
rz
#上传文件
vim dockerfile
#编写dockerfile文件
2.快捷键
ctrl+c #控制台中断,容器停止
ctrl+l #清除命令
exit
#退出容器,回到主控制界面
ls
#查看当前文件
pwd
#查看父容器名称
docker exec -it 61y bash
#以交付模式进入id为61y的容器控制台里(操作容器,更改文件)
docker restart redis01
#重启镜像redis01
cat index.html
#查看index.html文件源码
echo 111 > index.html
#修改数据
echo 333 >> index.html
#添加代码
cd ~
#cd到root目录
\
# 换行
3.后台启动镜像
docker run -d
[后台启动] --name
[自定义容器名字] mynginx
+IMAGE ID
docker run -d
+IMAGE ID
4.端口映射(快捷)
docker run -d --name mynginx -p 8430:5645 nginx
# 后台运行 将容器名字改为mynginx 端口映射将内部8430端口映射为外部5645 镜像名为nginx 注:端口不要起冲突,已被占用端口镜像无法启动,反向代理用前者端口号(外部端口)
docker run -d --name mynginx -p 88:80 nginx
5.操作容器内部文件
nginx 默认页 /usr/share/nginx/html
docker exec -it mynginx /bin/bash #进入容器内部
ls
#查看文件
cd
+/usr/share/nginx/html #进入文件内部
vi index.html
#编写index.html文件
echo "<h1>hello,docker</h1>" >index.html
#将<h1>hello,docker</h1>注入index.html中
cat index.html
# 查看index.html 源码
exit
#退出容器,回到主控制界面
6.打包镜像
docker commit -m "update index.html" mynginx mynginx:v1.0
# 提交容器变化mynginx打成一个新的镜像mynginx:v1.0 版本v1.0 --将容器封装成镜像
docker save -o mynginx.tar mynginx:v1.0
#将mynginx:v1.0 导成mynginx.tar包--打包镜像
docker run -d --name app01 -p 80:80 mynginx:v1.0
# 启动镜像mynginx:v1.0,-d后台启动,--name镜像名,-p 端口暴露 主机:容器rmi
7.域名绑定
添加域名:网站→添加站点→输入域名
反向代理:对应域名右边”设置“→左侧“反向代理”→“添加反向代理”
docker ps -aq
#打印容器id
docker rm $(docker ps -aq)
#删除打印出来id的容器
docker exec -it 61y bash
#以交付模式进入id为61y的容器控制台里(操作容器,更改文件)
8存储方式
8.1目录挂载
(初始启动 外面目录是空的,里面也是空的)
-v /app/nghtml/:/usr/share/nginx/html
#外部主机位置:内部容器位置
例:
docker run -d -p 88:80 -v /app/nghtml:/usr/share/nginx/html --name app01 nginx
#后台运行镜像(-d) .端口映射88:80(-p).目录挂载外部地址/app/nghtml挂载到内部/usr/share/nginx/html(-v). 容器名app01(--name).使用nginx这个镜像.
8.2卷映射
(初始启动 外面的目录要以内部为准,启动以后里外随意修改[同步])
-v ngconf:/etc/nginx
例:
docker run -d -p 87:80 -v /app/nghtml:/usr/share/nginx/html -v ngconf:/etc/nginx --name app02 nginx
#后台运行镜像(-d) .端口映射87:80(-p).目录挂载外部地址/app/nghtml挂载到内部/usr/share/nginx/html(-v). 卷映射(-v 外部文件ngconf映射到/etc/nginx).容器名app02(--name).使用nginx这个镜像.
/var/lib/docker/volumes/ <volume-name>
#全映射存储位置.