目录

1、安装docker的官方网站

配置镜像加速器

查看docker安装的版本

重启docker

启动 docker

查看启动的状态

下载测试镜像 并且启动该容器

2、操作docker 镜像的常用命令

搜索镜像

下载镜像

列出镜像

删除本地镜像

保存镜像到本地

加载镜像到docker仓库

构建镜像

3、docker 容器常用命令

1、启动docker容器

2、列出容器

3、停止容器

4、强制停止容器

5、启动已经停止的容器

6、重启容器

7、进入容器内部

8、删除容器

9、导出容器

10、导入容器

问题记录

1、Linux 下 Docker 端口映射到宿主机后 外部无法访问对应宿主机端口

2、 查单某一个容器的日志信息

3、docker 运行jar 文件

4、docker服务连接 mysql容器 出现连接不上的问题

5、docker 启动mysql 乱码

6、docker 容器 映射https 端口



1、安装docker的官方网站

https://docs.docker.com/install/linux/docker-ce/ubuntu/

http://book.itmuch.com/   电子图书

配置镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

查看docker安装的版本

docker --version

重启docker

sudo systemctl restart docker

启动 docker

sudo systemctl start docker

查看启动的状态

sudo systemctl status  docker

下载测试镜像 并且启动该容器

docker run hello-world

出现以上信息 说明安装成功

2、操作docker 镜像的常用命令

搜索镜像

docker search java  [-- limit / -f(过滤结果) / --no-trunc (true/false) /--start -s (收藏数) ]

下载镜像

docker pull java

列出镜像

docker images java 

删除本地镜像

docker rmi hello-world

在删除本地镜像前 要去查看是否有容器在引用此镜像 如报一下错误  Error response from daemon: conflict: unable to remove repository reference "hello-world:latest" (must force) - container fc82f6cea8b0 is using its referenced image fce289e99eb9
 则使用以下命令

保存镜像到本地

docker save hello-world > hello.tardocker --output hello.tar  hello-world

加载镜像到docker仓库

docker load < hello.tar

构建镜像

docker build  -- 看书查看详细的执行

3、docker 容器常用命令

1、启动docker容器

docker run -d -p 8080:8080 XXX#-d 后台运行
#-P 随机映射所有的端口  (大P)
#-p 指定端口映射# ip:hostPort:containerPort (地址:主机端口号:容器端口号)# ip::containerPort# hostPort:containerPort# containerPort
#--network 指定网络格式 # --network=bridge  默认 网桥模式# --network=host 容器使用主机的网络# --network=container:NAME_or_ID (容器的名称或者id) 使容器使用已有的容器的网络配置# --network=none 不配置该容器网络 用户可以自定义配置网络

2、列出容器

docker ps -a#-a 列出全部运行的容器
#-f 条件过滤
#--format
#-n 显示最近创建的n个容器    -n 10
#-l 显示最近创建的容器(包含所有的状态)
#--no-trunc 不截断输出
#-q 只展示容器id
#-s 显示总文件的大小

3、停止容器

docker stop #-t  强制停止容器前等待的时间 单位是秒 s

4、强制停止容器

docker kill #-s 向容器发生信号  kill

5、启动已经停止的容器

docker start

6、重启容器

docker restart#-t 关闭容器前等待的时间

7、进入容器内部

docker exec -it 容器id /bin/bashdocker attach 容器id

8、删除容器

docker rm  #-f 强制删除正在运行的容器
#-l 删除容器间的网络连接
#-v 删除与容器管理的卷#删除所有的容器docker rm -f $(docker -a -q)

9、导出容器

docker export #-o 将内容写到文件 docker export red_panda > latest.tar #导出red_panda 为 latest.tar 文件
docker export --output="latest.tar" red_panda

10、导入容器

docker import #-c 将Dockerfile  指令应用到创建的镜像
#-m 为导入的镜像设置提交的信息docker import latest.tar rep_panda

问题记录

1、Linux 下 Docker 端口映射到宿主机后 外部无法访问对应宿主机端口

描述:在ubuntn 服务下启动了tomcat 容器,使用虚拟机的地址加映射的端口 无法访问到tomcat容器,进入tomcat容器,使用curl "localhost:8080"命令请求服务,发现tomcat是启动的。

原因是:我的宿主机没有开启ip 转发功能,导致了外部请求过来没有转发到docker 映射的端口号上。

编辑 :

vi /etc/sysctl.conf

修改

重启网卡 和重启docker 服务

#重启网卡
/etc/init.d/networking restart#重启docker
systemctl restart docker

2、 查单某一个容器的日志信息

docker logs -f -t 0d8a3a91c04c(容器id)

3、docker 运行jar 文件

编写Dockerfile 文件  输入一下内容

FROM java
VOLUME /tmp
ADD schoolweb-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 84
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

构建容器

docker build -t shcool/0.0.1 .

4、docker服务连接 mysql容器 出现连接不上的问题

#查看当前容器的ip地址
docker insepect [容器名称、容器id]

将此ip地址进行替换

5、docker 启动mysql 乱码

编辑该配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysql]
default-character-set = utf8[mysql.server]
default-character-set = utf8[mysqld_safe]
default-character-set = utf8[client]
default-character-set = utf8[mysqld]
character_set_server=utf8
init_connect=’SET NAMES utf8’

6、docker 容器 映射https 端口

使用一下命令启动容器

docker run -d -p 80:80 -p 443:443 xxx(容器名称) 映射80 和 443端口 。

docker 安装和使用相关推荐

  1. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  2. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  3. docker安装Mysql5.7以及远程登陆链接配置

    1.安装mysql5.7 docker镜像 docker安装:docker安装一条龙 1.拉取官方mysql5.7镜像 docker pull mysql:5.7 root@VM-12-5-ubunt ...

  4. docker 安装oracle_阿里云使用Docker搭建Hadoop集群

    摘要 吐血整理,搭建了两遍,亲测可用!!! 我买的是阿里云2C4G的服务器,使用的是CentOS 7.7版本.在搭建过程中踩了不少坑,本篇文章希望对大家有用 CentOS 7.7安装Docker 查看 ...

  5. docker 安装 oracle12,使用Docker安装Oracle 12c

    使用Docker安装Oracle 12c 假设你的服务器已成功安装Docker,继续进行以下操作: 1. 启动Docker [root@node01 ~]# service docker start ...

  6. Centos-安装Docker并使用Docker安装mysql遇到的问题以及解决方法

    为什么安装Docker?? ----不知道啊,说是用其安装mysql简单 step1:    首先百度,查找安装的教程,哎,找到了: 如下: https://www.jianshu.com/p/9c9 ...

  7. 002.Docker安装部署

    一 docker安装-CentOS系统 1.1 docker自动安装脚本 1 root@docker:~# wget -qO- https://get.docker.com/ | sh 2 或-- 3 ...

  8. Linux磁盘挂载和docker安装

    本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录. 最近新申 ...

  9. Docker学习(一)Ubuntu版本的Docker安装和使用

    2019独角兽企业重金招聘Python工程师标准>>> Docker安装: [apt-get install docker.io   如果不成功先运行 apt-get update] ...

最新文章

  1. nginx防止高负载的解决方案(sysgurad模块)
  2. [转]Build beautiful, responsive sites with Bootstrap and ASP.NET Core
  3. CSS多行文本溢出省略号...显示设置
  4. 下载silverlight官网的全部视频教程
  5. 解决NetworkOnMainThreadException
  6. 批处理添加允许弹出临时窗口站点
  7. itunes计算机无法启动,打开电脑中的iTunes显示Apple Mobile Device Service无法启动如何解决...
  8. JVM相关知识——内存分布和垃圾回收机制
  9. win7安装IIS常见问题汇总
  10. 最新版MySQL 8.0.22(Windows 64位)下载安装详细方法
  11. 产品读书《粉丝经济:传统企业转型互联网的突破口》
  12. PC-红警联机问题与下载
  13. 计算机如何一次性删除音乐,win10怎么删除windows音乐文件夹?
  14. win7网上邻居_win7系统网上邻居在哪
  15. android图片聊天背景图片,32张黑色简约手机壁纸图片大全 也适合作微信7.0聊天背景图片...
  16. python实例练习(2)递归:科赫曲线的绘制
  17. Vue2项目引入mars3d
  18. 计算机名人堂(历届图灵奖获得者)
  19. 自然底数e究竟“自然”在哪?
  20. html多张图片无缝滚动播放,jQuery实现的多张图无缝滚动效果【测试可用】

热门文章

  1. Rocksdb iterator 的 Forward-scan 和 Reverse-scan 的性能差异
  2. python多进程详解
  3. CGpoint,CGSize,CGRect,NSRange
  4. 6-12 二叉搜索树的操作集
  5. 存储过程中SELECT与SET对变量赋值
  6. (转)@ContextConfiguration注解说明
  7. sql 2005提示未能加载包Microsoft SQL Management Studio Package
  8. 读阮一峰对《javascript语言精粹》的笔记,我有疑问。
  9. 在Hibernate中处理批量更新和批量删除
  10. 最新版IntelliJ IDEA 15开发Java Maven项目