docker安装及常用命令

参考:

https://www.cnblogs.com/doraman/p/9570891.html

 

一、仓库、镜像、容器

官方docker hub

官方:https://hub.docker.com/explore/

常用docker 国内镜像源:

网易镜像中心:http://hub-mirror.c.163.com

阿里镜像中心:https://dev.aliyun.com

Docker 官方中国区:https://registry.docker-cn.com

ustc: https://docker.mirrors.ustc.edu.cn

daocloud:https://hub.daocloud.io/

docker国内免费加速器:

daocloud:https://***(自己注册的私有账号).m.daocloud.io

aliyun:https://***(自己注册的私有账号).mirror.aliyuncs.com

修改方法

    • 直接设置 –registry-mirror 参数,仅对当前的命令有效 
      docker run hello-world --registry-mirror=https://docker.mirrors.ustc.edu.cn
    • 修改 /etc/default/docker,加入 DOCKER_OPTS=”镜像地址”,可以有多个 
      DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"
    • 支持 systemctl 的系统,通过 sudo systemctl edit docker.service,会生成 /etc/systemd/system/docker.service.d/override.conf 覆盖默认的参数,在该文件中加入如下内容: 
      [Service] 
      ExecStart= 
      ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn
    • 新版的 Docker 推荐使用 json 配置文件的方式,默认为 /etc/docker/daemon.json,非默认路径需要修改 dockerd 的 –config-file,在该文件中加入如下内容: 

      "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
      }

 二、Docker安装步骤

以下以ubuntu18.04 安装为例:

1.首先更新资源update

sudo apt-get  update

2.安装docker

sudo apt-get install  docker

sudo apt-get install  docker.io

sudo apt-get install  docker-registry

3.停止、启动、重启docker

 sudo systemctl start | stop | restart docker.service

4. 查看docker版本

sudo docker version

5.加入开机自启

sudo systemctl enable docker

6.运行hello-world镜像来测试是否安装成功 
docker run hello-world         #本地没有镜像时会自动从docker hub中下载

三、docker创建常见容器

1.创建nginx 容器:

sudo docker run -d -p 80:80 hub.c.163.com/library/nginx      #镜像地址可以登录163镜像源进行查找

2.创建mysql 容器:

sudo docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest

3.创建tomcat容器:

sudo docker pull hub.c.163.com/library/tomcat:latest

4.通过ubutnu18.04镜像创建一个容器:

sudo docker create ubuntu:18.04     #从默认镜像地址进行查找

4.开始运行容器,并进入镜像的bash终端

sudo docker run -i -t ubuntu:18.04 /bin/bash

四、在docker中部署JAVA应用

1. 查看当前镜像
~$ sudo docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
hello-world                    latest              2cb0d9787c4d        7 weeks ago         1.85kB
hub.c.163.com/library/tomcat   latest              72d2be374029        12 months ago       292MB
hub.c.163.com/library/nginx    latest              46102226f2fd        16 months ago       109MB
hub.c.163.com/library/mysql    latest              9e64176cd8a2        16 months ago       407MB

2. 创建Dockfile

文件内容如下:(wordpress.war 是待部署的war包)

from hub.c.163.com/library/tomcat

MAINTAINER jeff xxxxxxx@163.com

COPY workpress.war /usr/local/tomcat/webapps

创建从当前目录读取Dockerfile文件,创建一个名字为wordpress,tag为latest的镜像:

~$ sudo docker build -t wordpress:latest .

查看创建结果:

复制代码
~$ sudo docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
wordpress                         latest              157b922155fb        5 hours ago         313MB
hello-world                    latest              2cb0d9787c4d        7 weeks ago         1.85kB
hub.c.163.com/library/tomcat   latest              72d2be374029        12 months ago       292MB
hub.c.163.com/library/nginx    latest              46102226f2fd        16 months ago       109MB
hub.c.163.com/library/mysql    latest              9e64176cd8a2        16 months ago       407MB
复制代码

3.运行容wordpress java应用


~$ sudo docker run -d -p 8080:8080 wordpress

查看所有正在运行的容器:

~$ sudo docker ps
CONTAINER ID        IMAGE                                COMMAND                  CREATED             STATUS              PORTS                    NAMES
d585c289bd07        wordpress                               "catalina.sh run"        4 hours ago         Up 6 seconds        0.0.0.0:80->8080/tcp     quizzical_williams
b759ed79b2cc        hub.c.163.com/library/mysql:latest   "docker-entrypoint.s…"   4 hours ago         Up 15 seconds       0.0.0.0:3307->3306/tcp   happy_poitras
429e193db808        hub.c.163.com/library/nginx          "nginx -g 'daemon of…"   7 hours ago         Up 10 seconds       0.0.0.0:32768->80/tcp    elastic_noyce

4.测试访问

http://localhost:8080/wordpress


五、其他常用命令

 docker ps 查看当前正在运行的容器

 docker ps -a 查看所有容器的状态

 docker start/stop id/name 启动/停止某个容器

 docker images 查看本地镜像

 docker rm id/name 删除某个容器

 docker rmi id/name 删除某个镜像

 docker build -t soar/centos:7.1 .  通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像

 docker run -d -p 2222:22 --name test soar/centos:7.1  以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,使用小写p参数做端口映射到宿主机2222端口,而大写P参数重启容器宿主机端口会发生改变 

posted @ 2020-09-30 16:44  735882640  阅读(278)  评论(0编辑  收藏  举报