文章來源:https://macrozheng.github.io/mall-learning/#/reference/dockerjava
本文主要講解Docker環境的安裝以及Docker經常使用命令的使用,掌握這些對Docker環境下應用的部署具備很大幫助。linux
Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的鏡像中,而後發佈到任何流行的 Linux或Windows機器上。使用Docker能夠更方便低打包、測試以及部署應用程序。nginx
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
systemctl start docker
docker search java
docker pull java:8
因爲docker search命令只能查找出是否有該鏡像,不能找到該鏡像支持的版本,因此咱們須要經過docker hub來搜索支持的版本。git
進入docker hub的官網,地址:https://hub.docker.comgithub
而後搜索須要的鏡像: docker
查看鏡像支持的版本: centos
進行鏡像的下載操做:bash
docker pull nginx:1.17.0
docker images
docker rmi java:8
docker rmi -f java:8
docker rmi -f $(docker images)
docker run -p 80:80 --name nginx -d nginx:1.17.0
docker ps
docker ps -a
# $ContainerName及$ContainerId能夠用docker ps命令查詢出來 docker stop $ContainerName(或者$ContainerId)
好比: docker stop nginx
#或者 docker stop c5f5d5125587
docker kill $ContainerName(或者$ContainerId)
docker start $ContainerName(或者$ContainerId)
docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
nsenter --target "$pid" --mount --uts --ipc --net --pid
docker rm $ContainerName(或者$ContainerId)
docker rm -f $(docker ps -a -q)
docker logs $ContainerName(或者$ContainerId)
docker logs $ContainerName(或者$ContainerId) -f
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId)
docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/
docker stats $ContainerName(或者$ContainerId)
docker stats -a
docker exec -it $ContainerName /bin/bash
docker info | grep "Docker Root Dir"
systemctl stop docker
mv /var/lib/docker /mydata/docker
ln -s /mydata/docker /var/lib/docker