docker常用命令操作

2021-05-05 869 阅读 0评论

linux安装docker

官网安装教程:https://docs.docker.com/engine/install/centos/

注:安装docker前的操作
  • 关闭防火墙(CentOS7自带的)

    ~]# systemctl stop firewalld

  • 再设置  (禁止开机启动)

    ~ ]# systemctl disable firewalld

  • 关闭selinux :  

    ~]# getenforce

启动docker

systemctl start docker

开机启动docker
systemctl enable docker
重启docker
systemctl restart docker


使用官方安装脚本自动安装

在线教程地址:https://www.runoob.com/docker/centos-docker-install.html

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh


卸载Docker
  1. 卸载Docker Engine,CLI和Containerd软件包:

    $ sudo yum remove docker-ce docker-ce-cli containerd.io
  2. 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

    $ sudo rm -rf /var/lib/docker


容器与宿主拷贝文件
docker cp 容器名:要拷贝的文件在容器里面的路径    要拷贝到宿主机的相应路径

docker cp  3138a85e9eef:/opt/www/config.php  /www/web

3138a85e9eef  :容器 id
/opt/www/config.php  : 容器中的文件
/www/web 宿主机目录

示例说明:
docker cp 主机文件路径 容器id或者容器名:容器路径  #主机中文件拷贝到容器中
docker cp 容器id或者容器名:容器路径 主机文件路径  #主机中文件拷贝到容器中

(查看docker信息)

docker info

(查看docker版本信息)

docker version

(创建一个docker容器)

docker run -it nginx

(查看docker容器)

docker ps
查看容器ip信息
docker inspect 运行容器的ID
访问容器
curl 容器ip地址
进入容器中
docker exec -it 容器ID bash
docker exec -it 容器名称 bash     (进入一个容器)
exit (退出容器)

查看镜像中各层内容及大小

docker history <容器ID/容器NAME>

docker镜像默认存储在/var/lib/docker/

配置docker加速器

文档地址:https://www.daocloud.io/mirror

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
配置完加速地址后重启一下docker
systemctl restart docker
删除容器|镜像
docker rm -f 容器ID   (删除一个容器)

停止所有容器,这样才能够删除其中的镜像:
docker stop $(docker ps -a -q)

如果想要删除所有容器:
docker rm $(docker ps -a -q)

联合命令
docker stop $(docker ps -q) & docker rm $(docker ps -aq)    (先停止所有容器 再 删除所有的容器)

docker image rm 镜像名称  (删除镜像)
docker rmi hello-world   (删除镜像[名称])
docker rmi -f images ID          (删除指定image 镜像)
docker rmi $(docker images -q)  (删除全部image 镜像)

查看镜像

docker images (查看所有镜像包括未运行的)

REPOSITORY  存储库名称
Tag  镜像的标签不写版本号码默认下载最新latest镜像
IMAGE ID  镜像ld
CREATED  创建时间
SIZE 大小

docker images -a
docker images -q ---只显示镜像的id
docker images --digests ---显示镜像的摘要信息
docker images --no-trunc ---显示完整镜像信息

保存一个镜像

docker image save centos > contos.tar

导入一个镜像

docker image load < contos.tar
docker ps  (查看当前运行的容器)

docker container ps  (查看当前运行的容器)
docker ps     (默认只列出运行的容器)
docker ps -l  (列出最新创建的容器)
docker ps -a  (列出所有创建的容器,包括停止的和运行的)
docker inspect 容器名称   (列出容器详细信息)

搜索镜像文件

docker search mysql   (搜索mysql镜像)
      latest  表示为最新的镜像文件
docker run 参数说明
docker run --name 容器名 -it -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:tag
#--name指定容器名,可自定义,不指定自动命名
#-i以交互模式运行容器
#-t分配一个伪终端,即命令行,通常-it组合来使用
#-p指定映射端口,讲主机端口映射到容器内的端口
#-d后台运行容器
#-v指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
dcoker ps 参数说明
docker ps -a -q
# docker ps 查看正在运行的容器
# -a 查看所有容器(运行中、示运行)
# -q 只查看容器的ID

查看docker容器运行日志

docker logs 容器名称    (NAMES)

示例:

运行一个容器

docker run --name ng -d -p 8080:808 nginx

--name ng  (给容器起个名字为 “ng”)

-d  (表示后台运行)

-p 8080:808   (表示绑定端口号,8080为本机端口,808为容器端口)

docker stop 容器id    (停止运行一个容器)

docker inspect 容器id   (查看容器ip等详细信息)

启动docker容器并共享文件(目录映射)
docker volume ls        (查看数据卷)

docker volume create nginx_log   (创建数据卷)

docker volume inspect nginx_log   (查看数据卷详细信息)

数据卷的作用:存储docker容器数据

制作镜像

dockerfile指令介绍

1.FROM指定父镜像:基于哪个镜像image构建指定基础镜像,必须为第一个命令

2. MAINTAINER:维护者

3.RUN:容器创建的时候执行一段命令构建镜像时执行的命令

4.ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget

5.COPY功能类似ADD,但是是不会自动解压文件,也不能访问网络资源

6.CMD构建容器后调用,也就是在容器启动时才进行调用。sh执行文件

7.ENV设置环境变量

8. EXPOSE:指定于外界交互的端口

9. VOLUME用于指定持久化目录

10. WORKDIR设置进入容器时的路径

把Dockerfile打包成镜像文件
docker build -f Dockerfile -t mydocker:1.0
把Dockerfile打包成了mydocker镜像,版本是1.0
docker run -d mydocker:1.0  ##运行该镜像
制作自己的Dockerfile镜像文件

#继承docker hub中的 centos镜像文件

FROM centos
#自己定制的镜像文件作者
MAINTAINER mydocker-cary2021
##配置环境变量MYPATH
ENV MYPATH /usr
##进入到容器中默认访问的目录/usr
WORKDIR $MYPATH
##安装下载vm
RUN yum -y install vim
##外部访问端口80
EXPOSE 80
###启动成功容器之后自动进入到容器中
CMD /bin/bash

最后保存成 Dockerfile 镜像文件

使用 docker commit 打包镜像示例(打包运行中的容器成为自己的镜像)
docker commit -m="myobj" -a="cary" 正在运行的容器id  myobjsss:1.0
参数说明:
-m="提交的描述信息"
-a="作者"
myobjsss(要创建的镜像名称):1.0[标签名或者版本号]
#2.参数说明
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
打包自己的一个dockerfile文件成镜像文件
将该 dockerfile文件上传到 linux服务器中
使用 docker build -f Dockerfile -t mycs:1
Dockerfile----配置文件
mycs---打包镜像文件名称
1 tag 版本号码
启动自己的镜像名称
docker run -it mycs:1

先安装docker-compse插件

https://docs.docker.com/compose/install/   官网安装教程

https://github.com/docker/compose/releases   最新版本下载地址

curl -L https://github.com/docker/compose/releases/download/1.23.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

或者将下载好的文件移动至指定目录下
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-copose

#最后添加可执行权限
chmod +x /usr/local/bin/docker-compose

#查看安装版本
docker-compose version
#执行容器编排命令
docker-compose up -d

示例1:

保存文件名为:docker-compose.yml

version: "2.1"

services:

    nginx:

        image: nginx

        ports:

            - "80:80"

        volumes: 

            - /www/web:/usr/share/nginx/html

            - /www/nginx/conf:/etc/nginx/conf.d

            - /www/logs:/var/log/nginx

        networks:

            - lnmp-network

    php:

        image: php:7.3-fpm

        volumes:

            - /www/web:/www

            - /www/php-ini/php:/usr/local/etc/php

        networks:

            - lnmp-network

    mysql:

        image: mysql:5.7.34

        ports:

            - "3306:3306"

        environment:

            - MYSQL_ROOT_PASSWORD=123

            - MYSQL_DATABASE=cary2021

            - MYSQL_USER=cary2021

            - MYSQL_PASSWORD=123

        networks:

            - lnmp-network

    redis:

        image: redis

        ports:

            - "6379:6379"

        volumes:

            - /www/redis/conf.d:/etc/redis/redis.conf

            - /www/redis/data:/data

        environment:

            - appendonly=yes

            - requirepass=123

        networks:

            - lnmp-network

networks: 

    lnmp-network:

#执行容器编排命令

docker-compose up -d














喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 869人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表