🍁作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道TOP1🏅 阿里云ACE认证高级工程师🏅
✒️个人主页:小鹏linux
💊个人社区:小鹏linux(个人社区)欢迎您的加入!
目录
Docker 指令的基本用法: docker + 命令关键字(COMMAND) + 一系列的参数 |
docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress
#docker run 运行 #--name MyWordPress 指定容器名称,不指定则随机生成一个容器名。 #--link db:mysql 链接的含义。当前MyWordPress容器想运行就必须要依赖另一个db容器(db容器调用别名mysql)db容器和mysql别名会写入到当前容器的/etc/hosts文件中 #-p 8080:80 8080为访问物理机端口地址,80为docker容器内部的端口 #-d wordpress 放到后台运行。容器如需运行的最低标准:必须拥有前台进程 |
1.基础命令
命令1: |
docker info #守护进程的系统资源设置 |
举例如下: |
命令2: |
docker search #镜像的查询 |
举例如下: |
[root@localhost ~]# docker search nginx #只能查看镜像名,看不到版本号。
命令3: |
docker pull #镜像的下载 |
举例如下: 浏览器搜素https://c.163yun.com/hub#/home网易官方镜像,登录,点击镜像仓库,点击镜像中心,搜素centos,点击public/centos,点击版本,复制下载地址。hub.c.163.com/public/centos:6.7-tools |
[root@localhost ~]# docker pull hub.c.163.com/public/centos:7.2-tools #将版本号修改为需要的版本号用docker pull命令下载即可
命令4: |
docker images #Docker镜像的查询 |
举例如下: |
[root@localhost ~]# docker images #可以查看本地仓库下所有的镜像
[root@localhost ~]# docker images --no-trunc #可以显示全部ID
命令5: |
docker rmi #Docker镜像的删除 |
当一个镜像在某个容器中运行时候无法删除,只能强制删除。 -f 选项可以强制删除镜像 |
命令6: |
docker ps #容器的查询 |
举例如下: |
docker ps #容器的查询(当前正在工作的) docker ps -a #查询所有的容器 docker ps -a -q #简要化查询所有的容器(只输出ID号)
命令7: |
docker run #容器的创建启动 |
举例如下: |
启动方式一: |
[root@localhost ~]# docker run -d hello-world:latest #镜像名:版本号
启动方式二: |
[root@localhost ~]# docker run -d feb5 #镜像ID号前四位
命令8: |
docker start #容器启动 docker stop #容器停止 |
命令9: |
docker rm #容器的删除 #-f 强制删除
举例如下: |
[root@localhost ~]# docker rm -f $(docker ps -a -q) #强制删除所有容器
命令10:镜像导入导出 |
docker save -o 镜像名.tar 镜像名:版本号 # 以打包的方式导出镜像到当前目录下 docker load -i 镜像名.tar # 导入镜像,就不用再重新去下载了。 |
命令11:查看容器映射关系 |
* docker port ContainerName #可以查看容器当前的映射关系 |
命令12:查看镜像制作历史 |
docker history 镜像名 --no trunc #可以查看镜像制作的历史命令 |
2. 单一容器管理
每个容器被创建后,都会分配一个 CONTAINER ID 作为容器的唯一标示,后续对容器的启动、停止、修改、删除等所有操作,都是通过 CONTAINER ID 来完成,偏向于数据库概念中的主键. docker ps --no-trunc 查看 docker stop/start CONTAINERID 停止 docker start/stop MywordPress 通过容器别名启动/停止 docker inspect MywordPress 查看容器所有基本信息 docker logs MywordPress 查看容器日志(前台的输出信息) docker stats MywordPress 查看容器所占用的系统资源 docker exec 容器名 容器内执行的命令 容器执行命令 docker exec -it 容器名 /bin/bash或/bin/sh 登入容器的bash |
3. run 基础命令
命令1: |
--restart=always #容器的自动启动(容器会随着docker进程的启动而自动启动) |
举例如下: |
[root@localhost ~]# docker images #先查询镜像,如下:
[root@localhost ~]# docker run --name test1 -d b6306 #将wordpress镜像通过容器test1运行(为了做对比) [root@localhost ~]# docker run --name test2 --restart=always -d b6306 #将wordpress镜像通过容器test2自启动 [root@localhost ~]# docker ps -a #查看两个容器都是UP运行状态,如下图:
[root@localhost ~]# systemctl stop docker [root@localhost ~]# systemctl start docker #重启容器 [root@localhost ~]# docker ps -a #再次查看发现设置了自启动的容器test2随着docker进程的启动而启动了,如图:
命令2: |
-h x.xx.xx #设置容器主机名 |
举例如下: |
[root@localhost ~]# docker run --name test3 -h axp -d b6306 #设置主机名为axp并以test3容器运行wordpress镜像 [root@localhost ~]# docker exec test3 hostname #查看当前主机名,如图:
命令3: |
--dns xx.xx.xx.xx #设置容器使用的 DNS 服务器 --dns-search #DNS 搜索设置 |
设置搜索域,如:设置搜索域为xiaopeng.com,则访问www的时候会自动搜索成www.xiaopeng.com |
命令4: |
--add-host hostname:IP #注入 hostname <> IP 解析 |
举例如下: |
[root@localhost ~]# docker images #查询镜像 [root@localhost ~]# docker run --name test1 -h axp -d b6306 #将wordpress镜像通过容器test1运行 [root@localhost ~]# docker exec -it test1 /bin/bash #进入test1容器 root@axp:/var/www/html# cat /etc/host #查看到hostname<>ip解析如下图:
root@axp:/var/www/html# hostname #查看主机名为axp,如图:
[root@localhost ~]# docker run --name test2 --add-host axp:66.66.66.66 -d b6306 #将wordpress镜像通过容器test2运行并设置解析 [root@localhost ~]# docker exec -it test2 /bin/bash #进入test2容器 root@113a8f21e03a:/var/www/html# cat /etc/hosts #查看解析文件,如下图:
root@113a8f21e03a:/var/www/html# exit #登出
命令5: |
--rm #服务停止时自动删除 |
举例如下: |
[root@localhost ~]# docker images #查看镜像 [root@localhost ~]# docker run --name test1 -d b630 #将wordpress镜像通过容器test1运行 [root@localhost ~]# docker run --name test2 --rm -d b630 #将wordpress镜像通过容器test2运行并设置随着docker进程的停止容器自动删除 [root@localhost ~]# docker ps -a #查看两个容器都是UP运行状态 [root@localhost ~]# systemctl restart docker #重启docker服务 [root@localhost ~]# docker ps -a #查看容器状态,发现test1容器虽然停止了但是还存在,test2容器已自动删除,如下图;
命令6: |
docker run -it --rm b630 /bin/bash (充当测试机器。常用!) # /bin/bash 启动命令替换为解释器 # -it 交互模式 tty接口 # 进入容器内部发起测试,测试完成后exit退出,然后当前测试环境就会被自动删除了。 |
命令7: |
Dockfile文件生成镜像命令: docker build -t wangyang/nginx:v1.0 Dockfile文件路径 镜像导出: docker save -o xx.xx.xx xx.xx.xx.tar 镜像导入: docker load -i xx.xx.xx.tar 将容器封装成镜像: docker commit nginx(容器名) axplinux/nginx:v0.1(镜像名) |
👑👑👑结束语👑👑👑