一、Docker的常见使用

1、docker的使用
1.1 查看docker版本号信息
docker version
docker info
1.2 启动docker
systemctl start docker
1.3 关闭docker
systemctl stop docker
1.4 重启docker
systemctl restart docker
1.5 docker设置随服务启动而自启动
systemctl enable docker
1.6 查看docker运行状态
systemctl status docker
2、Docker 容器使用
2.1 启动容器
docker run -it 镜像名 /bin/bash
docker run -it 镜像名:Tag /bin/bash
# -i: 交互式操作。
# -t: 终端。
# /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
2.2 容器内直接退出
exit
2.3 查看正在运行容器列表
docker ps
2.4 查看所有容器
docker ps -a 
2.5 启动一个已停止的容器
docker start 容器ID/容器名
2.6 停止容器
docker stop 容器ID/容器名
2.7 重启容器
docker restart 容器ID/容器名
2.8 kill 容器
docker kill 容器ID/容器名
2.9 删除容器
删除一个:docker rmi -f 镜像名/镜像ID
删除多个:docker rmi -f 镜像名/镜像ID 镜像名/镜像ID
删除全部镜像:docker rmi -f $(docker images -aq)
# -a 意思为显示全部
# -q 意思为只显示ID
强制删除镜像:docker image rm 镜像名称/镜像ID
清除所有无容器使用的镜像:docker system prune -a
3、docker镜像的使用
3.1 查看docker镜像列表
docker images
# REPOSITORY:表示镜像的仓库源
# TAG:镜像的标签
# IMAGE ID:镜像ID
# CREATED:镜像创建时间
# SIZE:镜像大小
3.2 获取镜像
docker pull 镜像名
docker pull 镜像名:tag
3.3 搜索镜像
docker search 镜像名
3.4 保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
3.5 加载镜像
docker load -i 镜像保存文件位置
3.6 测试镜像功能是否正常
docker run 镜像名
3.7 设置镜像标签
docker tag 镜像ID 镜像名:tag 
3.8 更换容器名
docker rename 容器ID/容器名 新容器名
4、docker的其他操作
4.1 修改容器内的文件
# 从容器内拷出
docker cp 容器ID/名称:容器内路径 容器外路径
# 从外部拷贝文件到容器内
docker cp 容器外路径 容器ID/名称:容器内路径
4.2 查看容器日志
docker logs -f --tail=要查看末尾多少行 默认all 容器ID
4.3 docker网络重启
# 启动
systemctl start docker
# 守护进程重启
systemctl daemon-reload
# 重启docker服务
systemctl restart docker / service docker restart
# 关闭
docker service docker stop / docker systemctl stop docker
4.4 挂载路径

① 指定目录挂载

docker run -it -v 主机目录1:容器内目录1 -v 主机目录2:容器内目录2
# -v 主机目录:容器内目录

② 匿名挂载

docker run -d -P --name nginx01 -v /etc/nginx nginx
# -v 容器内路径(挂在不指定宿主机目录,也不使用卷名,在-v只写了容器内的路径,没有写容器外的路劲)

③ 容器之间目录挂载

#1.命令
--volumes-from 容器名或id #2.实例
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7
# 这个时候,可以实现两个容器数据同步! #3.实例
docker run -it --name dc01 zzyy/centos
docker run -it --name dc02 --volumes-from dc01 zzyy/centos
docker run -it --name dc03 --volumes-from dc01 zzyy/centos
4.5 添加环境变量

① dockerfile 添加环境变量

# dockerfile ENV 设置环境变量,该方式直接将变量生成到镜像中
ENV PATH=/usr/loca/mysql/bin:$PATH LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
# dockerfile CMD/RUN/ENTRYPOINT
CMD export PATH=/usr/local/mysql:$PATH
RUN export PATH=/usr/local/mysql:$PATH
ENTRYPOINT export PATH=/usr/local/mysql:$PATH

② 使用容器添加环境变量

1> 启动容器时指定环境变量

docker run -dti -e PATH=/usr/local/mysql/bin:$PATH --rm  镜像ID
docker run -tid --env PATH=/usr/local/mysql/bin:$PATH --rm 镜像ID
# -e/--env 标记多个变量

2> 进入容器内部,添加需改环境变量

# 进入容器
docker exec -ti 容器ID/容器名 /bin/bash
# 可在如下文件内容添加变量
~/.bashrc
~/.profile
~/.bash_profile
/etc/profile
/etc/environment
/etc/bash.bashrc
# 在文件末尾添加类似
export PATH=/usr/local/mysql/bin:$PATH
# 添加完成后,使文件生效
source 修改的文件
# 查看
echo $PATH
# 提交容器为镜像:使用docker commit提交容器的读写层,变成只读层
docker commit -a 作者 -m 提交日志 -t 容器名或ID 仓库名:镜像版本
5、docker之环境清理
5.1 基础清理
docker system prune -f
5.2 容器清理
docker container prune -f
5.3 卷清理
docker volume prune -f
5.4 停止所有运行的容器
docker stop $(docker ps -aq)
5.5 删除所有关闭的容器
docker rm $(docker ps -aq)
5.6 删除所有dangling镜像(即无tag的镜像)
docker images|grep none|awk ‘{print $3}’|xargs docker rmi
5.7 删除所有dangling数据卷(即无用的volume)
docker volume rm $(docker volume ls -qf dangling=true)
5.8 清理容器的网络占用
docker network disconnect --force networkName containerName

Docker的常见使用的更多相关文章

  1. docker(部署常见应用):docker部署redis

    上节回顾:docker(部署常见应用):docker部署mysql docker部署redis:4.0 # 下载镜像 docker pull redis:4.0 # 查看下载镜像 docker ima ...

  2. docker(部署常见应用):docker部署mysql

    上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...

  3. docker(部署常见应用):docker部署nginx

    上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...

  4. Docker 之常见应用部署

    本文教大家如何将常见的应用使用 Docker 进行部署,巩固大家 Docker 命令的学习,下文教大家如何构建属于我们自己的 Docker 镜像. Tomcat 拉取镜像. docker pull t ...

  5. Docker:常见命令

    Docker常见命令(持续更新中):   说明 命令 截图 1 查看Docker版本 Docker -v 2  查看镜像 Docker image ls   3  查看容器  Docker conta ...

  6. maven docker plugin 常见问题解决

    1. maven 项目必须使用小写,不然会一直有500 的错误    500: HTTP 500InternalServerError     2. docker server  连接数超了 Fail ...

  7. Docker Toolbox常见错误解决方案

    错误1 Error checking TLS connection: Error checking and/or regenerating the certs: There was an error ...

  8. docker安装常见应用

    1.emqx #!/bin/bash docker stop emqttd-docker-v2.3.11 docker rm emqttd-docker-v2.3.11 docker run -tid ...

  9. docker之常见错误

    1. docker run -d --name showdoc -p 4999:80 -v /showdoc_data/html:/var/www/html/ star7th/showdoc WARN ...

  10. docker删除常见命令

    $ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器 1b7067e19d6f a840 ...

随机推荐

  1. vue3 使用watch 监听多个数据

    // 监听时间选择 watch( [ internalSubmTimer, internalTimer, externalSubmTimer, externaTimer, callbackTimer, ...

  2. centos 修改ip

    TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6IN ...

  3. JetBrains之全家桶破解

    JetBrains之全家桶破解(idea,rider....) 链接之....JETBRA.IN 打开上面的链接 随便点击下图中一个可用的链接,进入之后看下一步. 打开上一步的链接之后,下载下图中红框 ...

  4. Mysql数据库基础第五章:(一)事务

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  5. mysql主从故障跳过错误

    mysql主从故障跳过错误1.从库报错 21,22,23,25无法执行Retrieved_Gtid_Set: 265c6c2a-86ca-11ed-b07a-0242ac120002:1-25Exec ...

  6. 关于我在安装2.6.9版本bochs虚拟机时遇到的问题以及解决过程

    更新于:2019.7.2 在阅读<一个64位操作系统的设计与实现>过程中,搭建实验环境遇到的诸多困难. 本人的实验环境:vmware15.0 下安装有kali-liunx虚拟机里进行的安装 ...

  7. WDA学习(29):WDA & HTML

    1.22 HTML Container 本实例测试HTML在WDA中结合使用. 創建WDA Component: Z_TEST_WDA99 UI Element VIEW:MAIN 創建UI Elem ...

  8. 那些年我们用过的xshell小彩蛋

    优化PS1变量 vi /etc/profile.d/ps1.sh _set_prompt () { #see: http://misc.flogisoft.com/bash/tip_colors_an ...

  9. vscode plugin - jenkins jack使用方法

    Jenkins jack用于使vscode可直连jenkins,能推送代码至对应jenkins job进行代码测试 一.vscode安装jenkins jack 二.连接jenkins 根据提示输入j ...

  10. HJ77 火车进站

    描述 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先 ...