整理一下docker基本命令和用法

之前也學習過docker的基本使用但是都沒有整理用法,所以學完也就忘了,用的時候現百度。

今天又用到docker索性整理下來以後需要直接拿來用就行。

先理清2個概念1、容器 2、鏡像,總是很容易混淆,

鏡像就是需要的軟件版本,容器就是鏡像啓動後產生的空間

  1. 查看所有鏡像
$ docker images
  1. 查看所有創建的容器
$ docker ps -a
  1. 查看正在運行的容器
$ docker ps
  1. 進入正在運行的容器
$ docker exec -it <容器的 CONTAINER ID 或者 容器 NAMES > /bin/bash

# 例:
$ docker ps
CONTAINER ID    IMAGE                        COMMAND    CREATED        STATUS       PORTS                     NAMES
ecda634206af    jumpserver/guacamole:test    "/init"    12 days ago    Up 3 days    0.0.0.0:8081->8080/tcp    jms_guacamole

$ docker exec -it ecda634206af /bin/bash 或 docker exec -it jms_guacamole /bin/bash
# 如果沒有 /bin/bash 可以使用 /bin/sh  例: docker exec -it jms_koko /bin/sh
  1. 開始 停止 重啓 容器
$ docker start <容器的 CONTAINER ID 或者 容器 NAMES >
$ docker stop <容器的 CONTAINER ID 或者 容器 NAMES >
$ docker restart <容器的 CONTAINER ID 或者 容器 NAMES >

# 例:
$ docker ps
CONTAINER ID    IMAGE                        COMMAND    CREATED        STATUS       PORTS                     NAMES
ecda634206af    jumpserver/guacamole:test    "/init"    12 days ago    Up 3 days    0.0.0.0:8081->8080/tcp    jms_guacamole

$ docker start ecda634206af 或 docker start jms_guacamole
$ docker stop ecda634206af 或 docker stop jms_guacamole
$ docker restart ecda634206af 或 docker restart jms_guacamole
  1. 查看容器 log
$ docker logs -f <容器的 CONTAINER ID 或者 容器 NAMES >

# 例:
$ docker ps
CONTAINER ID    IMAGE                        COMMAND    CREATED        STATUS       PORTS                     NAMES
ecda634206af    jumpserver/guacamole:test    "/init"    12 days ago    Up 3 days    0.0.0.0:8081->8080/tcp    jms_guacamole

$ docker logs -f ecda634206af 或 docker logs -f jms_guacamole
  1. 刪除容器
$ docker rm <容器的 CONTAINER ID 或者 容器 NAMES >

# 例:
$ docker ps
CONTAINER ID    IMAGE                        COMMAND    CREATED        STATUS       PORTS                     NAMES
ecda634206af    jumpserver/guacamole:test    "/init"    12 days ago    Up 3 days    0.0.0.0:8081->8080/tcp    jms_guacamole

$ docker rm ecda634206af 或 docker rm jms_guacamole
  1. 刪除鏡像
$ docker rmi <鏡像的 CONTAINER ID>

# 例:
$ docker images
REPOSITORY             TAG     IMAGE ID        CREATED        SIZE
jumpserver/guacamole   test    e0c2ec53a8fd    13 days ago    1.23GB

$ docker rmi e0c2ec53a8fd
  1. 更新鏡像
$ docker pull <鏡像地址:版本>

# 例:
$ docker pull wojiushixiaobai/jms_all:latest
$ docker pull wojiushixiaobai/jms_koko:1.5.6
$ docker pull wojiushixiaobai/jms_guacamole:1.5.6

docker image mysql:5.6 inspect  環境變量是看你的docker容器有沒有需要這個環境變量

$ docker run --name mysql -d -p 127.0.0.1:8081:8080 -e JUMPSERVER_SERVER=http://$Server_IP:8080 -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN -v /home/mysql:/var/mysql --restart=always mysql:1.5.6
--name 指定容器的名稱  
-d, --detach=false 指定容器運行於前臺還是後臺,默認爲false
-p 指定映射的端口,:前面爲目標端口,後面爲容器的端口
-e, --env=[], 指定環境變量,容器中可以使用該環境變量
--restart=always 創建容器沒有加導致的後果是:當 Docker 重啓時,容器未能自動啓動。
docker container update --restart=always 容器名字
-v, --volume=[] 給容器掛載存儲卷,掛載到容器的某個目錄 : 之前是宿主機目錄,之後是容器需暴露的目錄

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章