1. 程式人生 > >docker安裝及常用命令

docker安裝及常用命令

小寫 hub 方式 try jpress wordpress build com ble

一、倉庫、鏡像、容器

官方docker hub

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

常用docker 國內鏡像源:

網易鏡像中心:http://hub-mirror.c.163.com

Docker 官方中國區:https://registry.docker-cn.com

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

docker國內免費加速器:

daocloud:https://www.daocloud.io

aliyun: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安裝步驟

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
jpress                         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        jpress                               "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參數重啟容器宿主機端口會發生改變

docker安裝及常用命令