Docker常用命令、服务器搭建、迁移备份

一、Docker常用命令

1、查看主机docker中的镜像

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0f3e07c0138f        2 months ago        220MB

2、从docker远程库中查找镜像

^C[root@localhost ~]# docker search nginx
NAME         DESCRIPTION                        STARS        OFFICIAL        AUTOMATED
nginx        Official build of Nginx.           12382        [OK]

3、从docker远程库中拉取镜像

[root@localhost ~]# docker pull nginx

4、启动运行容器

[root@localhost ~]# docker run -it 容器名/ID /bin/bash   ///-it 分配一个伪终端

5、自定义容器名并启动

[root@localhost ~]# docker run -it --name 自建名 容器名/ID   ///以centos7的命名进入centos

6、查看正在运行的容器

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE    COMMAND      CREATED         STATUS            PORTS   NAMES
28abedfe4443   centos   "/bin/bash"  20 hours ago    Up About an hour          centos7

7、查看所有(正在、停止)运行的容器

[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE    COMMAND      CREATED         STATUS            PORTS   NAMES
28abedfe4443   centos   "/bin/bash"  20 hours ago    Up About an hour          centos7

8、查看上一次运行的容器

[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE    COMMAND      CREATED         STATUS            PORTS   NAMES
28abedfe4443   centos   "/bin/bash"  20 hours ago    Up About an hour          centos7

9、退出容器

[root@28abedfe4443 ~]# exit    ///直接退出容器 或者使用:Ctrl+Q -- Ctrl+P -- Ctrl+Q    ///将容器挂载至后台,不退出

10、进入后台挂载容器

[root@localhost ~]# docker attach 容器名/ID[root@localhost ~]# docker exec -it 容器名/ID /bin/bash

11、启动容器

[root@localhost ~]# docker start 容器名/ID

12、停止容器

[root@localhost ~]# docker stop 容器名/ID

13、重启容器

[root@localhost ~]# docker restart 容器名/ID

14、查看容器正在进行的进行

[root@localhost ~]# docker top 容器名/ID
UID       PID      PPID     C      STIME       TTY       TIME        CMD
root      9332     9313     0      15:59       pts/0     00:00:00    /bin/bash

15、查看容器内部所有详情信息

[root@localhost ~]# docker inspect 容器名/ID

16、查看容器端口号

[root@localhost ~]# docker port 容器名/ID

17、修改容器名

[root@localhost ~]# docker rename 原名 改后名

18、主机与容器之间文件传输

[root@localhost ~]# docker cp centos7:/root/villian/abc.txt /root/zwl
将centos7容器中/root/villian/abc.txt文件拷贝至主机/root/zwl目录下[root@localhost ~]# docker cp /root/zwl/zwl.txt centos7:/root/villian
将主机/root/zwl/zwl.txt文件拷贝至容器/root/zwl目录下

19、容器目录挂载主机

[root@localhost ~]# docker run -it --name 容器名/ID -v /挂载路径:/挂载到docker路径  容器名/ID

20、将容器导出主机中

[root@localhost ~]# docker export 容器名.tar 容器名

21、将容器从主机导入

[root@localhost ~]# cat centos.tar | docker import centos:v1
将快照文件导入镜像centos:vi

22、写一个循环脚本,防止后台运行容器停止

[root@localhost ~]# docker run --name 容器名 -d 容器名 /bin/sh -c "while true; do echo hello world; sleep 1; done"

23、以端口名映射主机端口方式登录容器

[root@localhost ~]# docker run -p 81:80 --name web -it ubuntu /bin/bash
docker run -p 容器端口:主机端口 --name 容器名 -it 容器名 /bin/bash

24、查看docker其他命令

[root@localhost ~]# docker --help

二、LANM服务器搭建

安装JDK环境:

1、在/opt/目录下创建software目录

[root@localhost ~]# mkdir -p /opt/software

2、下载jdk并解压,移动并重命名为jdk:

[root@localhost ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz
[root@localhost ~]# mv jdk1.8.0_171/ /opt/software/jdk

3、配置环境变量:

[root@localhost ~]# vim ~/.bashrcexport JAVA_HOME=/opt/software/jdk
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

4、使配置生效:

[root@localhost ~]# source ~/.bashrc

5、验证是否配置成功:

[root@localhost ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode

安装tomcat

1、搜索tomcat镜像

[root@localhost ~]# docker search tomcat

2、拉取tomcat镜像

[root@localhost ~]# docker pull tomcat

3、根据镜像启动tomcat容器

[root@localhost ~]# docker run --name tomcat1 -d -p 8080:8080 tomcat

4、查看本地的容器

[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE      COMMAND              CREATED        STATUS         PORTS                    NAMES
b2e9025226f0    tomcat    "catalina.sh run"     2 days ago     Up 2 days    0.0.0.0:8080->8080/tcp    tomcat1

5、测试tomcat动态界面
在浏览器中输入ip:映射端口,如 localhost:8080,出现下面页面则代表成功

扩展:通过映射不同端口,开启多个tomcat服务

[root@localhost ~]# docker run --name tomcat2 -d -p 8082:8082 tomcat
[root@localhost ~]# docker run --name tomcat3 -d -p 8083:8083 tomcat
[root@localhost ~]# docker run --name tomcat4 -d -p 8084:8084 tomcat

安装mysql数据库

1、搜索mysql镜像

[root@localhost ~]# docker search mysql

2、拉取mysql镜像

[root@localhost ~]# docker pull mysql

3、启动mysql容器,-e MYSQL_ROOT_PASSWORD是必填项,用于指定root用户的密码

[root@localhost ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql

4、查看本地的容器

[root@localhost ~]# docker ps -a
CONTAINER ID     IMAGE      COMMAND                CREATED        STATUS          PORTS                    NAMES
d25a5947f7db     mysql    "docker-entrypoint..."   2 days ago     Up 33 seconds   0.0.0.0:3306->3306/tcp   mysql01

5、登录mysql

root@d25a5947f7db:/# mysql -uroot -p
Enter password:mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)mysql>

安装nginx静态服务器

1、搜索nginx镜像

[root@localhost ~]# docker search nginx

2、拉取nginx镜像

[root@localhost ~]# docker pull nginx

3、使用nginx镜像启动nginx容器

[root@localhost ~]# docker run --name nginx -d -p 80:80 nginx

4、查看本地的容器

[root@localhost ~]# docker ps -a
CONTAINER ID    IMAGE      COMMAND                  CREATED        STATUS            PORTS                   NAMES
bcd974e90360    nginx     "nginx -g 'daemon ..."   2 days ago     Up 44 hours       0.0.0.0:80->80/tcp       nginx

5、测试访问Nginx静态界面

拓展:通过容器挂载主机目录静态文件,实现容器静态页面
1、通过挂载方式进入容器

[root@localhost ~]# docker run -it --name nginx -d -p 80:80 -v /home:/home nginx

2、修改容器中nginx.conf配置文件

root@d25a5947f7db:/# vim default.confserver {listen       80;server_name  localhost;#access_log  /var/log/nginx/host.access.log  main;location / {#root   /usr/share/nginx/html;root   /home/userfile;  #修改root根目录,使指向路径为/home/userfileindex  index.html index.htm;}

备注: nginx容器中配置了文件存放地址是/home/userfile ,我们把本地目录 /home 挂载到了容器的/home目录中,所以我们要把存放文件的文件夹 userfile 放在本地目录 /home 下面。

3、测试
文件目录的一张图片路径是这样的: /home/userfile/nginx.jpg
在浏览器中输入ip:映射端口,如 localhost:80/nginx.jpg,出现下面页面则代表成功


安装Apache服务器

1、搜索httpd镜像

[root@localhost ~]# docker search httpd

2、拉取httpd镜像

[root@localhost ~]# docker pull httpd

3、根据httpd镜像创建httpd容器

[root@localhost ~]# docker run --name httpd -d -p 80:80 httpd

4、查看本地的容器

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
3d4d1836b984        httpd               "httpd-foreground"       5 minutes ago       Up 5 minutes        0.0.0.0:80->80/tcp                  httpd

5、测试httpd界面
在浏览器中输入ip:映射端口,如 localhost:80 ,出现下面页面则代表成功


三、容器迁移备份

1、容器保存为镜像

docker commit nginx mynginx

nginx是容器名称
mynginx是新的镜像名称
此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

2、镜像备份

docker  save -o mynginx.tar mynginx

-o 输出到的文件
mynginx.tar是nginx备份压缩包
执行后,运行ls命令即可看到打成的tar包

3、镜像恢复与迁移

docker load -i mynginx.tar

-i 输入的文件
mysnginx.tar为nginx备份压缩包
执行后再次查看镜像,可以看到镜像已经恢复

运维之道 | Docker常用命令、LANM服务器搭建、容器备份迁移相关推荐

  1. docker 常用命令(二)——容器命令

    docker 常用命令(二) # 容器命令 注:有了镜像才可以创建并启动容器:本文在centos7.9下创建centos:latest 下载最新版centos: docker pull centos ...

  2. 运维初学者必备之SRS音视频服务器搭建

    运维初学者必备之SRS音视频服务器搭建 什么是srs音视频服务器? 答:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效. ...

  3. 桌面运维之windows部分常用命令

    最近让我临时接管桌面运维的工作,说实话不太了解,所以先自己上网看了一些资料,其中总结了几个windows运维常用的命令,分享给大家. ################################# ...

  4. 运维之道 | Docker 容器连接

    Docker 容器连接 前面我们实现了通过网络端口来访问运行在 docker 容器内的服务. 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过-P或-p参数来指定端口映射. 下面我们来 ...

  5. 运维高手第八课:服务向 Kubernete 容器平台迁移必须了解的事情

    服务向 Kubernete 容器平台迁移必须了解的事情 文章目录 服务向 Kubernete 容器平台迁移必须了解的事情 一.业务迁移到 K8S 需要关注的问题 程序中有状态的内容 业务日志收集排查 ...

  6. 【linux】服务器运维必备之linux常用命令合集

    目录 1  常用系统查看命令:磁盘/内存/CPU 2  常用操作命令 3  系统/硬件时间操作 4  文件编辑器 5  防火墙 6  网卡 7  root用户远程ssh登录 1  常用系统查看命令:磁 ...

  7. 运维之道 | Git log 命令详解

    Git log 命令详解 Git log 可以让我们查看提交commit history [root@localhost villian]# git log commit 7a690b414f87fb ...

  8. Linux运维之道-基础命令

    基础命令 参照 linux运维之道(丁明一) 文章目录 基础命令 一.目录以及文件的基本操作 1. pwd 2.cd 3.ls 4.touch 5.mkdir 6.cp 7.rm 8.mv 9.fin ...

  9. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

最新文章

  1. 从起源到未来,一文看懂70年的人工智能简史
  2. 本文把TCP/IP讲绝了!
  3. 藏青色在html页面怎么写,Html页面支持暗黑模式的实现
  4. 瀑布流第二种方式————基于ajax方式
  5. q7goodies事例_Java 8 Friday Goodies:java.io终于成功了!
  6. Vue 生命周期LIFECYCLE是8个吗?
  7. 前端学习(2237):react实现疫情数据
  8. 三十岁前不要去在乎的18件事
  9. 吴军《智能时代》序言汉译英练习
  10. python画正方形的代码drawingpanel_wxpython编程之 画板(一个不错的研究的完整示例)...
  11. python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四)
  12. css对网页模块进行样式定义,模块七 使用CSS样式1217.ppt
  13. java可视化工作流_强大的java工作流引擎,可视化开发工作流
  14. SageMath矩阵操作及解线性方程组
  15. 在线书签 php源码_PHP在线书签系统分享
  16. 惊鸿一现的永恒经典2007-05-07 09:40:18
  17. 计算机重装系统知识,想学重装系统要怎么做?重难点知识讲解,零基础照样能够装系统!...
  18. 不用安装Excel使用PSExcel自动处理Excel文件
  19. 业余时间零基础自学编程,9 个月后我成为一名软件工程师
  20. Python中亲和度分析时defaultdict的一种典型算法

热门文章

  1. 关于Java开发工具的使用
  2. 创新工场发布人工智能战略白皮书 李开复看好金融、医疗、无人驾驶
  3. Ubuntu下为Firefox安装Adobe Flash Playe
  4. hang计算机术语大全,计算机词汇
  5. RED Digital Cinema和NVIDIA让8K电影编辑成为现实 ——内容创建者可使用全新基于NVIDIA RTX的REDCODE RAW SDK实时编辑8K视频
  6. symbian操作系统历史回顾
  7. sql 按照天环比_SQL 查询同比,环比
  8. hud抬头显示器哪个好_给爱车装上抬头显示,拒做低头族,行车更安全
  9. 首都经贸计算机考研怎么样,首都经济贸易大学考研难吗?一般要什么水平才可以进入?...
  10. Oracle使用数据泵expdp导出和impdp导入