docker命令相关

参考文章

一. docker基础命令

启动docker

systemctl start docker

关闭docker

systemctl stop docker

重启docker

systemctl restart docker

docker设置随服务启动而自启动

systemctl enable docker

查看docker 运行状态

systemctl status docker

查看docker 版本号信息

docker version

docker 帮助命令

docker --help

或其他操作相关的命令

docker pull --help

在这里插入图片描述

二. docker 镜像命令

1. 查看自己服务器中docker 镜像列表

docker images

2. 搜索镜像

docker search 镜像名
#  搜索 STARS >9000的 mysql 镜像
docker search --filter=STARS=9000 mysql

3. 拉取镜像

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest
加:tag 则是拉取指定版本

docker pull 镜像名 
docker pull 镜像名:tag

比如

docker pull mysql:5.7.30

4. 删除镜像

#删除一个
docker rmi -f 镜像名/镜像ID

#删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID

#删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)

5. 导出镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

比如:

docker save tomcat -o /myimg.tar

6. 加载导出的镜像

docker load -i 镜像保存文件位置

7. 镜像标签

相当于给镜像弄版本号或者区分开发和测试版本等

docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

如果省略TAG 则会为镜像默认打上latest TAG 等于 docker tag aaa:latest bbb:test

docker tag aaa bbb

三. docker 容器命令

1. 查看正在运行容器列表

docker ps

2. 查看所有容器 -----包含正在运行 和已停止的

docker ps -a

3. 运行容器

3.1 运行之前未运行过的容器

会占用当前终端,适合短期任务和调试。

docker run 镜像ID/镜像名

3.2 运行之前运行过但停止的容器

docker start  容器ID/容器名

上面启动后容器只

3.3 后台运行 -d

 docker run -d tomcat

3.4 端口映射 -p

将 容器的80 端口映射到 宿主机的8080 端口

docker run -d -p 8080:80 tomcat

3.5 为容器指定一个名称 --name

docker run -d -p 8080:8080 --name myTomcat tomcat

在这里插入图片描述

3.6 容器数据卷挂载 -v

来源痛点:若没有容器数据卷,数据都在容器内存储,一旦容器删除数据也会丢失,所以就有了容器数据卷。
好处:我们以后修改只需要在本地修改即可,容器内会自动同步,它是一种copy方式,即使删除其中一个容器,映射在外面的数据依旧存在。

3.6.1 挂载文件

比如挂载nginx配置文件
首先一定要在宿主机所要挂载的目录创建一个nginx.conf,然后里面写上基本配置,不能是空文件,配置文件尽量从别处复制个完整的。下面只是个例子

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       9005;
        server_name  192.168.1.100;
		charset utf-8;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        location /pro-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://192.168.1.100:17888/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}

然后运行docker命令

 docker run -d -p 80:80 -v /usr/local/docker-nginx-conf/nginx.conf:/etc/nginx/nginx.conf --name myNginx11 2cd1d97f893f

挂载配置文件和前端目录。
配置文件宿主机需要事先有,挂载的目录容器里面会自动创建

docker run -d -p 80:80 --name myNginx2 -v /opt/myProject/vueProject:/usr/local/myProject -v /usr/local/my-docker-data/nginx.conf:/etc/nginx/nginx.conf 2cd1d97f893f
3.6.2 挂载目录

比如挂载mysql目录
宿主机准备工作

mkdir -p /usr/local/docker-mysql-data
chown -R 999:999 /usr/local/docker-mysql-data  # 修改目录所有者
chmod -R 755 /usr/local/docker-mysql-data      # 赋予读写权限
docker run -d -p 3306:3306 --name mysql-container  -v /usr/local/docker-mysql-data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=root  mysql

3.6 运行后进入交互模式 -it

容器的输出会直接显示在终端中,用户可以实时看到容器的运行状态和输出。

docker run -it tomcat

如果运行后直接进入容器的 Bash 终端

docker run -it tomcat /bin/bash

3.7 进入容器 exec

  1. 首先启动一个容器
docker run -d -p 8080:8080 --name myTomcat4 tomcat
  1. 进入启动后的这个容器
docker exec -it myTomcat4 /bin/bash

3.8 退出容器

exit

4. 重启容器

docker restart 容器ID/容器名

5. 停止容器

给进程时间清理资源时间,优雅关闭

docker stop 容器名/容器ID

直接强制终止,一般不建议使用

docker kill 容器ID/容器名

6. 删除容器

删除一个容器

docker rm -f 容器名/容器ID

删除全部容器

docker rm -f $(docker ps -aq)

7. 查看容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID

8. 容器随docker启动而启动

启动容器时,使用docker run命令时 添加参数--restart=always 便表示,该容器随docker服务启动而自动启动

docker run -itd --name redis002 -p 8888:6379 --restart=always  redis:5.0.5 /bin/bash

9. 更新容器配置

把容器更新为跟随docker启动而启动

docker  update --restart=always 容器Id 或者 容器名
或
docker container update --restart=always 容器Id 或者 容器名

10. 更换容器名

docker rename 容器ID/容器名 新容器名

11. 查看容器信息 inspect(元数据)

docker inspect 4a42faa31350

Config:容器的静态配置
State:运行时状态信息
NetworkSettings:网络配置
Mounts:卷挂载信息
HostConfig:主机相关配置
在这里插入图片描述

12. 提交容器为新镜像

类似于git提交,也就是容器的版本管理

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]

例如:

docker commit -a="wangzhen" -m="测试提交" 25cf5f2e460c my_nginx999:2.0

在这里插入图片描述

四. docker 网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值