Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
Docker 裏面三個核心詞彙,鏡像、容器、倉庫。
1、Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。通過 uname -r 命令查看你當前的內核版本
uname -r
centos版本 3.10.0-514.el7.x86_64
2、初步安裝和啓動docker
yum update -y
yum -y install docker
systemctl start docker
3、設置鏡像
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}
####docker 命令
docker images
#列出所有鏡像docker run ...
# 運行容器docker ps ...
#查看正在運行的容器docker exec it(編號) bash
進入運行的容器docker stop [NAME]/[CONTAINER ID]
:將容器退出。docker kill [NAME]/[CONTAINER ID]
:強制停止一個容器。docker rm [NAME]/[CONTAINER ID]
:不能夠刪除一個正在運行的容器,會報錯。需要先停止容器。netstat -na|grep 8080
: 查看端口是否佔用docker run -d -p 8080:80 hub.c.163.com/library/nginx
將程序映射到端口docker run -d -P hub.c.163.com/library/nginx
容器中的所有端口映射到主機隨機端口
docker 鏡像刪除
1.停止所有的container,這樣才能夠刪除其中的images:
docker stop $(docker ps -a -q)
如果想要刪除所有container的話再加一個指令:
docker rm $(docker ps -a -q)
2.查看當前有些什麼images
docker images
3.刪除images,通過image的id來指定刪除誰
docker rmi <image id>
想要刪除untagged images,也就是那些id爲的image的話可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要刪除全部image的話
docker rmi $(docker images -q)
docker rmi -f $(docker images -q [imageid/imagename] | sort -u)
刪除多個同id的鏡像這裏寫代碼片
運行springboot
Dockerfile
FROM hub.c.163.com/library/java:openjdk-8-jdk-alpine
VOLUME /tmp
ADD eureka-server_01-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
docker 推送鏡像到倉庫
docker login hub.c.163.com
登錄網易雲基礎服務私有鏡像倉庫
docker tag test/centos:6.5 hub.c.163.com/dangernear/centos:6.51
修改鏡像標籤信息
docker push hub.c.163.com/dangernear/centos:6.51
將新鏡像上傳至私有鏡像倉庫
https://www.163yun.com/help/documents/68510213955833856
rancher 安裝
sudo docker run -d --restart=always -p 8888:8080 rancher/server
rancher安裝
docker create --name=myjava 創建一個容器