鏡像下載、域名解析、時間同步請點擊 阿里云開源鏡像站
一、百度百科
Docker是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
一個完成的docker有以下幾個部分組成:
- DockerClient 客戶端
- Docker Daemon 守護進程
- Docker Image 鏡像
- Docker Container 容器
二、Docker安裝
1、卸載Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、需要的安裝包
yum install -y yum-utils
3、設置鏡像倉庫
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
用國內(nèi)的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新軟件包索引
yum mackecache fast
4、安裝Docker相關
ce社區(qū)版,ee企業(yè)版,推薦安裝企業(yè)版
yum install docker-ce docker-ce-cli containerd.io

5、啟動Docker
systemctl start docker
6、使用docker version查看版本

7、啟動hello world鏡像
docker run hello-world

8、卸載
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
三、run的流程和docker原理
1、run的流程

2、docker原理

3、docker為何比VM快?
- Docker有著比虛擬機更少的抽象層
-
docker利用的是宿主機的內(nèi)核,VM需要的是Guest OS。
file
四、Docker鏡像常用命令
1、基本命令
docker version
docker info
docker 命令 --help #萬能命令
docker images

解釋:
- REPOSITORY:鏡像的倉庫源
- TAG:鏡像的標簽
- IMAGE ID:鏡像的ID
- CREATE:鏡像的創(chuàng)建時間
- SIZE:鏡像的大小
可選項
-a:列出全部的鏡像
-q:只顯示鏡像的ID
2、搜索鏡像
docker search
可選項
--filter-STATUS-3000 #搜索大于3000的
3、下載鏡像
指定版本下載
docker pull 鏡像名[:tag]

4、刪除鏡像
docker rmi -f 鏡像id
五、docker容器常用命令
1、下載容器
docker pull centos
2、docker run [可選參數(shù)] image
參數(shù)說明:
- --name 容器名稱
- -d 后臺方式運行
- -it 使用交互方式運行,進入容器查看內(nèi)容(例如:docker run -it centos /bin/bash)
- -p 指定容器的端口號 -p 8080:8080(主機端口:容器端口)
3、列出所有的運行的容器
docker ps [參數(shù)]
- -a 列出當前正在運行的容器
- -n 顯示最近創(chuàng)建的容器
- -q 只顯示容器的編號
例如:docker ps -aq 顯示當前正在運行的容器的編號
4、退出容器
exit
5、刪除容器
- docker rm 容器id 不能刪除正在運行的容器
- docker rm -f $(docker ps -a) 刪除所有的容器
- docker ps -a -q|xargs docker rm 刪除所有的容器
6、啟動和停止容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id
- docker kill 容器id 強制停止
7、進入當前正在運行的容器
- 方式一:docker exec -it 容器id /bin/bash 進入容器后開啟一個新的終端(常用)
- 方式二:docker attach 容器id 進入容器當前正在執(zhí)行的終端
8、從容器內(nèi)拷貝文件到主機
docker cp 容器id:容器內(nèi)路徑 主機路徑
例如:docker cp 容器id:/home/test.java /home
9、其它常用命令
(1)后臺啟動容器 -d
(2)查看日志命令
docker logs --help
顯示指定行數(shù)的日志:
docker logs -tf --tail 10 容器id
-f:內(nèi)容,,,-t:時間
例如:循環(huán)執(zhí)行
docker run -d centos /bin/sh -c "while;do echo hello world;sleep 1;done"
(3)顯示容器中的進行信息
查看docker內(nèi)部的進程信息:docker top 容器id
(4)查看容器的元數(shù)據(jù)
docker inspect --help
顯示容器的所有信息:
docker inspect 容器id

本文轉(zhuǎn)自:https://blog.csdn.net/guorui_java/article/details/115874500
