docker笔记

docker 笔记

参考docker菜鸟教程 pdf docker入门教程

一、安装与卸载 docker

1 安装

curl -sSL https://get.docker.com/ | sh

2 启动 docker 服务

sudo systemctl start docker

3 卸载

sudo systemctl stop docker
sudo dnf -y remove docker-ce docker-ce-cli containerd.io
sudo rm -rvf /var/lib/docker
sudo groupdel docker

二、基本命令

1 拉取镜像 (pull)

docker pull nginx

Using default tag: latest
latest: Pulling from library/nginx
a803e7c4b030: Pull complete 
8b625c47d697: Pull complete 
4d3239651a63: Pull complete 
0f816efa513d: Pull complete 
01d159b8db2f: Pull complete 
5fb9a81470f3: Pull complete 
9b1e1e7164db: Pull complete 
Digest: sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

删除镜像:docker rmi <镜像名称或镜像ID> (可能需要先 stop、rm 容器)

2 查看镜像

docker images

REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    61395b4c586d   3 days ago   187MB

3 创建容器并运行nginx镜像

docker run -d -p 80:80 nginx

  • -d 后台运行
  • -p 指定端口映射
  • 格式为:主机(宿主)端口:容器端口 (运行后输出容器id)*
e9200f16c633f98e945a7afb3f005fe17d22ac193380db81226da18b42ad7770

4 查看正在运行的容器

docker ps

CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
e9200f16c633   nginx     "/docker-entrypoint.…"   16 minutes ago   Up 16 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   upbeat_panini

停止容器: docker stop e920

启动容器: docker start e920

删除容器:docker rm e920

5 进入容器并修改主页

docker exec -it 容器id bash
cd /usr/share/nginx/html
echo 'hello nginx!' > index.html

可以装个Vim:

apt update
apt install vim

nginx 可列出目录: 编辑 /etc/nginx/nginx.conf,在http里面增加

autoindex on;autoindex_exact_size off;autoindex_localtime on;

6 根据容器创建新的镜像

docker commit 容器id 新的镜像名称

docker commit e920 newnginx
docker run -d -p 81:80 newnginx

7 通过 Dockerfile 文件构建镜像

  • 建立 Dockfile 文件。cat Dockerfile:
FROM nginx
ADD ./ /usr/share/nginx/html/
  • 新建 index.html 文件。
    echo "hello nginx2" > index.html
  • 用build命令将Dockerfile构建成一个镜像。
    docker build -t nginx2 .
  • 运行。
    docker run -d -p 82:80 nginx2

8 导出镜像

docker save nginx > nginx.tar

9 导入镜像

docker load < nginx.tar

三、其他

1 提示用户没有权限

sudo usermod -aG docker $USER

2 停止所有运行中的容器

docker stop $(docker ps -q)

3 停止并删除所有容器

docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

4 删除所有的镜像

docker rmi $(docker images -q)

5 为镜像打上标签

docker tag <镜像ID> <新标签名称>

6 挂载一个文件夹作为网站主目录:

docker run -d -p 82:80 -v $HOME/tmp:/usr/share/nginx/html nginx2

posted @ 2023-09-27 22:41  qydw007  阅读(14)  评论(0编辑  收藏  举报