Docker常用命令记录

一切皆容器

image

Docker入门操作

Docker镜像操作

查看本地所有镜像

docker images
image

查看单个镜像信息

docker image inspect IMAGE ID

docker image inspect dd3b2a5dcb48
image

搜索镜像

Docker镜像官网 : https://hub.docker.com/search?image_filter=official&q=

docker search image_name

docker search tomcat
image

拉取镜像

docker pull tomcat:版本号 #默认是latest

docker pull tomcat
image

删除镜像

docker rmi -f $(docker images -q) 此命令会删除所有的docker镜像
docker rmi IMAGE ID

docker rmi f42b2599b503
image

运行镜像

默认是在本地找镜像运行,如果没有就从官方镜像仓库中拉镜像。换句话说,前面的docker image pull命令并不是必需的步骤。
-it 表示与容器进行交互式启动
-d 表示可后台运行容器(守护式运行)
--name 给要运行的容器 起的名字
-p port:port 宿主机端口:Docker容器端口
image_name:Tag 镜像名:版本
/bin/bash 交互路径
docker run -it -d --name other_name -p port:port image_name:Tag /bin/bash

docker run -it -d --name mysql02 -p 8888:6379 mysql:5.6.51 /bin/bash
image

Docker容器操作

查看本地所有实例(正在运行 + 未运行)

docker ps -a 查看所有容器
docker ps 查看正在运行的容器
docker ps -a --format 格式化参数

docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}"
image

查看单个容器实例信息

docker container inspect CONTAINER ID

docker container inspect 283ece3c8bbb
image

停止正运行的容器

docker stop CONTAINER ID

docker stop f0acd463d4bb
image

启动已停止的容器

docker start CONTAINER ID
docker update --restart=always CONTAINER ID #此命令是让容器随着docker的启动而启动
docker update --restart=no CONTAINER ID #此命令是让容器关闭自启

docker start f0acd463d4bb
image

删除停止运行的容器

docker rm -f $(docker ps -aq) 此命令会强制删除所有容器
docker rm CONTAINER ID

docker rm f0acd463d4bb
image

更改容器名

docker rename old_name new_name

docker rename miouo-vscode-0.0.1 mioi
image

将正在运行的容器打包成镜像

docker commit CONTAINER ID NEW_IMAGE_NAME:TAG

docker commit 371c1351bf50 centos:7.9.2009-new
image

Docker进阶操作

Docker镜像构建,保存,加载

构建镜像(Dockerfile文件根据官网文档编写)

image

docker build -t 指定镜像名:指定镜像版本 在当前目录构建

docker build -t miou-acmovies:0.0.1 .
image

保存存在的镜像到本地

docker save 镜像名称:镜像版本 > 打包后的文件名字.tar

docker save miou-acmovies:0.0.1 > ~/miou-acmovies.tar
image

加载本地保存的镜像

docker load -i 打包后的文件名字.tar

docker load -i miou-acmovies.tar
image

Docker容器操作

进入容器

docker exec -it CONTAINER NAME /bin/bash
docker exec -it --user root container_id /bin/bash #以root用户身份进入,进入后可以改root用户密码

docker exec -it mycode /bin/bash
image

退出容器

exit
image

拷贝容器内部文件到虚拟机

docker cp CONTAINER NAME:FILE LOCALPATH

image

拷贝虚拟机文件到容器内部

docker cp LOCALFILE CONTAINER NAME:PATH

image

给容器安装软件

容器内部系统为CentOS系统
docker exec -it CONTAINER ID yum update #更新容器
docker exec -it CONTAINER ID yum install vi #安装vi工具
容器内部系统为Ubuntu系统
docker exec -it CONTAINER ID apt-get update
docker exec -it CONTAINER ID apt-get install vi

docker exec -it 8133c5e54af9 yum install vi
image

Docker网络

查看已经存在的Docker网络

Docker默认有三个网络名分别是bridge,host,none

docker network ls
image

创建Docker网络

--driver bridge 表示使用桥接模式
--subnet 172.23.0.0/16 表示子网ip 可以分配 172.23.0.1 到 172.23.255.255
--gateway 172.23.0.1 表示网关
default_network表示网络名

docker network create --driver bridge --subnet 172.23.0.0/16 --gateway 172.23.0.1 default_network

image

查看Docker网络详情

docker network inspect 网络名

docker network inspect default_network
image

利用docker-compose.yaml文件将应用构建在已存在的网络内

下面的例子更换成name为default_network的网络,以下代码是用docker构建了一个Nacos应用

image

参考文章

很全面的Docker教程

https://blog.csdn.net/liang19890820/article/details/120500266

更全面的Docker教程

https://cloud.tencent.com/developer/article/1885678

Docker简易入门教程

https://iphysresearch.github.io/blog/post/programing/docker-tutorial/

本文作者:随枫而动

本文链接:https://www.cnblogs.com/fcloud/p/17920097.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   随枫而动  阅读(122)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 Love Theme Audio artist
  2. 2 吹梦到西周 Audio artist
Love Theme - Audio artist
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.