[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nURjgyrU-1635671453142)(pictures/1.png)]

1 获取镜像

docker pull nginx
等同于
docker pull nginx:latest

2 查看本地镜像

docker images

3 运行镜像

docker run -d -p 80:80 nginx

-d 后台运行

-p 内外端口映射

4 查看正在运行的容器

docker ps

5 修改容器

docker exec -it xxxx bash

-it 接容器id

6 删除容器

docker rm -f xxx

7 提交容器

docker commit xxx name(自己定一个名字)

xxx 是容器的名字(docker ps 查到的),不是镜像的名字

8 通过dockerfile构建镜像跑成容器

新建dockerfile文件(写法自行查阅官方文档)

  • Dockerfile
    FROM nginx ADD ./ /usr/share/nginx/html/

然后在当前目录新建index.html

  • index.htmlwai bu de wen jian
docker build -t m2 .

m2 为新创建的镜像的名字,点表示当前目录

这样通过dockerfile文件build一个新镜像,使用docker run运行,浏览器中输入ip就可以看到我们自己修改的 index.html 内容了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lGoQRdMY-1635671453153)(pictures/2.png)]

9 保存文件和重新加载

docker save m2 >1.tar
docker load < 1.tar

如果报错

Error processing tar file(exit status 1): archive/tar: invalid tar header

尝试如下指令

docker save -o 1.tar
docker load -i 1.tar



摘一个网友(湿漉漉的小狐狸)的笔记

安装和常用CLI:
添加阿里云镜像:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装命令:sudo yum install -y docker-ce docker-ce-cli containerd.io
启动命令:sudo systemctl start docker
添加当前用户到docker用户组:sudo usermod -aG docker $USER (需注销),newgrp docker (立即生效)
Helloworld:docker run hello-world (本地没有镜像的话会自动从远端仓库pull)
pull nginx 镜像:docker pull nginx(等效于nginx:latest)
运行:docker run -【d】(后台运行不阻塞shell) 【-p 80:80】(指定容器端口映射,内部:外部) nginx
查看正在运行:docker ps
删除容器:docker rm -f <container id(不用打全,前缀区分)>
进入bash:docker exec -it <container id(不用打全,前缀区分)> bash
commit镜像:docker commit <container id(不用打全,前缀区分)> <name>
查看镜像列表:docker images (刚才commit的镜像)
使用运行刚才commit的镜像:docker run -d <name>
使用Dockerfile构建镜像:docker build -t <name> <存放Dockerfile的文件夹>
删除镜像:docker rmi <name>
保存为tar:docker save <name> > <tar name>
从tar加载:docker load < <tar name>

一些启动参数:
后台运行容器:-d
容器内外端口映射:-p 内部端口号:外部端口号
目录映射:-v 'dir name' : <dir>
指定映像版本:<name>:<ver>

实验

https://labs.play-with-docker.com/

不需要本地安装,在web端做实验