Docker基础命令学习

这篇具有很好参考价值的文章主要介绍了Docker基础命令学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  •  Docker安装部署

image镜像,构建容器(#将服务所需文件打包成镜像文件)
container 容器 #搭建的应用程序服务就运行在容器内
镜像仓库(dockerhub) #提供镜像保存平台,用于上传或下载
Dockerfile #将部署项目的操作编,写为部署的脚本,该脚本用于构建镜像文件

#docker必须运行在centos7上,内核不低于3.10

swapoff -a #关闭swap分区
iptables -F #清空防火墙规则
systecmctl stop firewalld #关闭防火墙
systemctl disable firewalld #关闭防火墙自启
setenforce 0 

yum install -y yum-utils device-mapper-persistent-data lvm2 lrzsz wget vim  #安装基础环境工具
yum install -y docker-ce #安装docker 基础服务

#配置镜像加速服务
vim /etc/docker/daemon.json 
{
"insecure-registries" : ["0.0.0.0/0"],
"registry-mirrors": ["https://5twf62k1.mirror.aliyuncs.com"], 
"exec-opts": ["native.cgroupdriver=systemd"]
}
systemctl enable docker #设置docker开机自启
systemctl daemon-reload #重启daemon文件

docker login harbor仓库地址 #登录harbor仓库
docker tag 镜像名:tag标签 仓库地址/项目名/镜像名:tag 
docker push 仓库地址/项目名/镜像名:tag #上传镜像

docker todesk修改端口,运维,云计算,centos,docker

 

Docker镜像

docker images --format "{{.ID}}-{{.Repository}}" #定制镜像显示面板
'docker的删除'

docker rm 容器ID #删除容器
docker rmi 镜像ID  #删除镜像
docker rmi 镜像ID前三位 #删除镜像

'镜像的管理'
docker images -aq #列出所有的ID 
docker rmi `docker images -aq` #删除所有的镜像

docekr rm `docker ps -aq` #删除所有容器

docker image save 镜像名:tag > /opt/centos.7.8.2003.tgz #导出镜像

docker image load -i /opt/centos.7.8.2003.tgz #导入镜像

docker image inspect 镜像ID #查看镜像的详细信息


  • Docker容器

#获取镜像,从配置好的docker镜像站中拉取所需镜像
docker search nginx #搜索仓库中是否含有nginx镜像
docker pull nginx #拉取nginx镜像
docker imges #列出本地镜像
docker rmi 镜像ID #删除镜像
docker top 容器ID #查看容器内的进程信息
docker stats 容器ID #查看容器内的资源信息
docker inspect 容器ID #查看容器内的IP地址,容器的格式化参数
docker inspect --format '{{.主key.子key}}' 容器ID #自定义获取容器的参数

#后台运行容器
docker run -d -p 宿主机端口:容器端口 镜像ID #-p 端口映射 #-d 让容器至后台运行 (针对宿主机而言)-P 随机分配宿主机的空闲端口

docker stop 进程ID #停止容器的运行
docker start 进程ID #启用容器
docker ps #查看docker容器运行进程列表

'容器内进程需处于前天运行,否则容器将会直接退出'
#容器内必须有个进程在前台运行
#运行容器并进入容器
docker run -it 容器ID bash #-i 交互式命令操作 -t开启一个终端 bash 命令解释器

docker run -it --rm 容器ID bash #退出容器时删除该容器 --restart=always 实时检测容器运行状态,如果为done则立马重启

#进入至运行中容器
docker exec -it 容器ID bash #进入一个正在运行的容器
--name 名字 #自定义容器名

docker logs -f 容器ID #查看容器日志 -f 类似于tail实时更新

docker inspect 容器ID #查看容器的详细信息

docker port 容器ID #查看容器的端口情况  

1.docker run -it 容器ID bash 
2.yum install vim -y
#运行基础的镜像,在容器内安装服务,然后再提交新的容器。

docker commit 容器ID 新的镜像名称 #将安装过新服务的容器提交为镜像
  • 构建Dockerfile

Dcokefile 用于构建docker镜像,类似于脚本通过dockerfile提供的命令来构建环境、依赖等.

        Dockerfile主要组成部分:
        1.基础镜像信息 FROM  镜像名
        2.制作镜像操作命令 RUN 
        3.容器启动时执行指令 CMD ["/bin/bash"]
文章来源地址https://www.toymoban.com/news/detail-787689.html

#Dockerfile 实践
vim Dockerfile
FROM nginx:latest
RUN echo '<meta charset=utf8> test123456' > /usr/share/nginx/html/index.html
CMD /bin/bash

#构建dockerfile
docker build -t 'test_image' . # .为当前路径  -t指定镜像标签
--no cache #不读取缓存
#修改镜像名
docker tag 镜像ID 镜像名:标签

        COPY模块

copy #指令从宿主机复制文件至镜像内路径
copy test.txt /home/ 

#支持多个文件,以及通配符形式复制,语法满足Golang的filepath.Match 
copy test* /opt/11.txt /home

        ADD模块

1.特性和COPY基本一致,不过多了些功能
2.源文件是一个URL,且是一个压缩包,不会自动解压,也得单独用RUN指令解压
3.源文件是一个压缩文件,且是gzip, bzip2,kz,tar情况,ADD指令会自动解压缩该文件到目标路径
ADD test.tar.gz /home #支持文件解压 同时支持url资源文件传输

        CMD模块

#在容器内运行某个命令,多用于启动程序
CMD ["参数1","参数2"] #cmd语法
CMD ["ls","/opt/docker"] #在容器内列出/opt/docker下文件

        ENTRYPOINT模块

#ENTRYPOINT和CMD的区别以及用法

1.ENTRYPOINT和CMD一样都是指定容器启动程序及参数
2.当指定了ENTRYPOINT之后,CMD指令的语义就会发生变化,把CMD的内容当作参数传递给ENTRYPOINT指令

CMD ["curl","-s","www.baidu.com"]
#Dockerfile使用cmd构建命令后,运行容器无法使用-I 前台传递命令参数
docker run new_image -I 
'ERROR'

ENTRYPOINT ["curl","-s","www.baidu.com"]
#ENTRYPOINT相较于CMD,构建完镜像后后续前台运行容器可以使用 -I 追加命令参数
docke run new_image -I 
'SUCCESS'

        ARP、ENV模块

#设置环境变量
ENV MYSQL_VERSION='5.6'
RUN yum insstall mysql-MYSQL_VERSION

#ARG和ENV 同样为设置环境变量
区别在于ENV 无论是镜像构建时,还是容器运行,变量都可以使用
ARG只是用于Dockerfile构建镜像时需要设置的变量, 镜像生成容器后ARG设置的变量将会消失。

        Volume模块

#容器在运行时,应保证在存储层不写入任何数据,运行在容器内产生的数据,应挂载至宿主机上进行维护。
VOLUME /data #将容器内的/data文件夹,在容器运行时,该目录自动挂载为匿名卷

FROM centos
MAINTAINER master
VOLUME ["/data1","/data2","/data3"]
#该镜像运行容器时,data1-3自动与宿主机构成映射关系

docker inspect 容器ID #查看容器详细信息

EXPOSE、WORKDIR、USER模块

#指定容器运行时对外提供端口服务
1.帮助使用镜像,快速理解容器的端口业务
docker port 容器 #给容器指定端口
docker run -p 宿主机端口:容器端口 #为容器映射端口
docker run -P #随机分配宿主机空闲端口

#用于改变环境,切换容器的工作用户
USER root

#用于在dockerfile中更改工作目录
WORKDIR /opt #切换容器的工作目录

到了这里,关于Docker基础命令学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker修改mysql默认端口

    安装mysql5.7 1.指定版本号: 2.镜像拉取完成后,用该镜像创建mysql实例,使用下面的命令来创建 -p:指定指定容器与宿主机之间映射的端口 -v:这些都是宿主机与容器文件的映射地址 -e:mysql的密码是root 3.在连接服务器工具上面找到这个地方并创建my.cnf文件。 地址是这个 /mydata/mysql

    2023年04月24日
    浏览(71)
  • docker 容器修改端口和目录映射

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 这里是将容器内的80端口映射到宿主机的8088端口 参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上

    2024年04月26日
    浏览(46)
  • Docker修改容器已经映射的端口

    Docker启动容器后,需要新增或者修改端口映射 修改配置文件更改端口 关闭容器 需要先关闭Docker,否则配置不生效 查看容器挂载目录 修改配置 修改 hostconfig.json 文件 修改 config.v2.json 文件 并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是空数

    2024年02月05日
    浏览(42)
  • 如何修改docker容器的端口映射

    要修改 Docker 容器的端口映射,你需要停止并删除现有的容器,然后使用新的端口映射重新运行容器。以下是详细步骤: 停止容器 : 使用 docker stop 命令停止正在运行的容器。替换 container_id 为你要停止的容器的 ID 或者容器的名称。 删除容器 : 使用 docker rm 命令删除已停止

    2024年02月22日
    浏览(34)
  • iptables 添加,删除,查看,修改,及docker运行时修改端口

    [root@linux ~]# /etc/init.d/iptables start   当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以centos为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了。 1,添加filter表

    2024年02月15日
    浏览(39)
  • Docker 搭建 Gitlab 服务器(修改端口)

    环境 Gitlab安装教程 安装GitLab官方推荐至少4G的内存,否则可能会卡顿或者运行非常慢,建议采用4G以上的云服务进行测试,或者本地搭建虚拟机的方式来做。 搜索Gitlab镜像 下载Gitlab社区免费版最新镜像 说明:ce 表示社区免费版 ,ee 表示企业付费版 运行Gitlab镜像 参数说明

    2024年02月09日
    浏览(37)
  • 修改docker容器端口映射到主机的方法

    如何修改已经创建好的容器的映射端口 我们都知道docker在创建时可以指定端口映射,但是容器一旦创建好,就没有命令支持直接修改映射端口。如果我们已经对容器里面的内容已经做了一定更改,不能删除进行重建,怎么办呢?通常间接的办法是,保存镜像,再创建一个新的

    2024年02月14日
    浏览(43)
  • docker 安装启动 nginx 修改配置资源容器端口

    可以先查看docker下是否存在nginx镜像,使用如下这些命令查看: docker images: 列出所有镜像。 docker images nginx: 列出所有nginx镜像,不同版本等等。 docker search nginx: 搜索查看所有nginx镜像信息。 使用 pull 命令拉取nginx镜像: 出现以下内容,等待下载完成即可: 下载完成nginx镜像后

    2024年02月07日
    浏览(36)
  • 杂记 | Linux中修改docker默认访问端口(2375)

    2375端口是docker的默认访问端口,使用该端口可实现远程访问和操作docker,但在服务器上直接开启该端口有安全风险(笔者本人今天就应该端口导致服务器被入侵),可以修改该默认端口以在一定程度上减少系统被入侵的风险。 本文基于CentOS设置,其他Linux操作系统大同小异。

    2024年02月11日
    浏览(31)
  • 修改运行中的docker容器的端口映射(简单、高效)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置,让你修改

    2024年02月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包