171
京東網上商城
docker入門
Docker
簡介
-
Docker 是一個開源的應用容器引擎
理解為加強版虛擬機 - 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機製,相互之間不會有任何接口。 ******************************************** ### 個人理解
- docker中的容器是動態的,隨時創建和銷毀,隻有鏡像是持久化的
- 而且容器是一個虛擬出來的功能完備的Linux操作係統可以進行登錄運行命令
-
docker images
來得到所有的本地鏡像名,使用docker run --name {name} -d {image-name}
以某容器來啟動某個鏡像 - 然後
docker ps
查看運行狀況
docker安裝與卸載
通過deb文件方式來安裝:
- 點擊選擇文件
- 進去後選擇debain的版本,deepin15.4 的版本是stretch 然後pool/stable/amd64/選版本即可
- 例如:Deepin 15.4直接點這裏 ###### 開始安裝
sudo dpkg -i deb文件
- 測試安裝成功
sudo docker run hello-world
卸載docker
sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker
常規使用
- 如果出現命令執行失敗,可以登錄docker的控製台直接執行
boot2docker ssh
#### 鏡像命令 - 搜索 :
docker search 鏡像名
- 安裝 :
docker pull 鏡像名
- 查看 :
docker images
- 刪除 :
docker rmi image-id
#### 容器命令 - 運行:
docker run --name conrainer-name -d image-name
- --name 後配置容器名字
- -d image 名字
Dockerfile使用
使用入門案例
- 新建目錄然後
touch Dockerfile
gedit Dockerfile
#隨意寫的 FROM redis MAINTAINER Mythos ENV DIRPATH /path WORKDIR $DIRPATH/$DIRNAME RUN pwd
-
docker build .
如果之前得到一個沒有名字的鏡像 -
docker build -t repository/tag .
給鏡像指定名字 -
docker run --name ContainerName -d repository/tag
新建容器來運行鏡像
- Dockerfile是一個
鏡像
的表示,可以通過Dockerfile來描述構建鏡像的步驟,且可以自動構建一個容器 - 所有的 Dockerfile 命令格式都是:
INSTRUCTION arguments
- 最好在運行這個配置文件的時候新建一個空目錄目錄下放dockerfile,不要使用根目錄,不然全部的東西都傳到守護進程裏去了
- 因為生成過程的第一件事是將整個上下文 (遞歸) 發送到守護進程。
- 同樣的可以使用
.dockerignore
文件來忽略不要上傳的文件 -
docker build
-
-f
指向任意位置的文件進行配置docker build -f /path/to/a/Dockerfile .
- 您使用docker構建的-f標誌指向文件係統中任何位置的Dockerfile。
-
-t
如果構建成功 可以指定保存新鏡像的repository和tag (多個的話就多個 -t就行了,例如docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .
) #### RUN ### .dockerignore 文件的使用
-
- .dockerignore文件是依據 Go的PathMatch規範來的,使用和.gitignore類似 ### 安裝 redis
- 獲取鏡像:
docker pull redis
- 運行默認配置的容器:
docker run --name test-redis -d redis
- 使用本地配置文件啟動redis容器
sudo docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
- 查看當前運行的容器:
docker ps
- 查看所有容器 :
docker ps -a
- 查看所有容器 :
- 停止容器:
docker stop 容器name或id
- 啟動容器:
docker start 容器name或id
- port-redis容器的端口映射:
sudo docker run -d -p 6379:6379 --name port-redis redis
- 刪除容器:
docker rm 容器id
- 刪除所有容器:
docker rm ${docker -a -q}
- 刪除所有容器:
- 容器日誌:
docker logs 容器name或id
- 登錄容器:
docker exec -it 容器name或id bash
docker pull wnameless/oracle-xe-11g
docker pull mongo
docker pull cloudesire/activemq
docker pull rabbitmq
socker pull rabbitmq:3-management
最後更新:2017-05-03 21:49:06