docker學習(一)安裝與基礎命令
docker是什么?
官方:容器引擎
如果你用過github以及虛擬機,對比理解起來就更容易了~
1. dockerhub相當于github有一些鏡像庫包括官方的與普通用戶的
2. 有了docker以后,如果想在Linux系統上,在虛擬幾個系統,可以直接開啟docker,然后載入多個鏡像文件運行即可!不需要在安裝虛擬機,然后在虛擬機里面安裝操作系統~方便簡潔~
3. 當然docker目前也有Windows的安裝版本。注意:意思是在Windows系統中可以安裝docker
4. docker里面目前沒有Windows的鏡像。注意:意思是在docker里面無法載入Windows的系統,因為沒有鏡像
執行流程:
先有一個操作系統,安裝docker。然后是開啟docker,運行一個容器container,載入一個鏡像image,執行一些命令command,提交生成新的鏡像tag,發布自己的鏡像push,下次可以直接載入自己的鏡像去使用了。
docker用來干什么?
1. 簡化了服務器上安裝多個虛擬機流程,多系統操作更方便。
2. 自己配置一個系統,在上面安裝配置好各種軟件,發布到dockerhub。然后可以在各個地方,不管哪兒,只要裝個docker就可以加載鏡像,運行自己配置好的系統。
git倉庫:
https://github.com/moby/moby/releases
下載地址:
tar.gz包:
https://github.com/moby/moby/archive/v17.03.2-ce.tar.gz
deb包:
https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
我下載的deb包,直接雙擊安裝了~
docker文件位置
/var/lib/docker
搜索鏡像
docker search centos
拉取dockerhub上的鏡像,或者載入下載好的包
docker pull lypeng29/centos #從dockerhub上拉取
docker load -i centos_x86_64_7.tar #提前下載好,載入
查看可用鏡像
docker images
運行一個容器container,載入鏡像,執行命令
docker run -i -t lypeng29/centos /bin/bash
長久運行
JOB=$(docker run -d centos /bin/sh -c "while true;do echo 'hello world'; sleep 1; done");
echo $JOB
查看日志
docker logs $JOB
查看運行的容器信息
docker ps
docker ps -a #所有容器
docker kill 容器ID #停止容器
docker stop/start/restart 容器ID
docker rm 容器ID #移除
docker commit 容器ID centos:nmap-ncat # commit相當于打tag
dockerfile創建鏡像
mkdir /docker-build
cd /docker-build
touch Dockerfile
vim Dockerfile
FROM centos
MAINTAINER lypeng29 <893371810@qq.com>
RUN yum install httpd -y
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
vim start.sh
/etc/init.d/httpd start
vim index.html
docker image test file.
docker build -t centos:httpd ./
發布
1. 保存到本地tar包
+ docker save -o centos_httpd_docker.tar centos:httpd
+ docker load -i centos_httpd_docker.tar
2. 發布到dockerhub
+ docker login -u username -p password -e email
+ docker push centos:httpd
+ docker pull username/centos:httpd
docker load -i centos_httpd_docker.tar
docker run -p 9000:80 centos:httpd /bin/sh -c /usr/local/bin/start.sh
docker exec -it 04938020 /bin/bash
在容器中執行命令
- 前言
- Interview
- 01-cookie與session
- 04-mysql索引
- 05-memcache與redis
- 06-高并發
- 07-主從同步
- 08-myisam與inondb
- 09-框架區別
- 10-php7新特性
- 11-設計模式
- 12-MySQL優化
- 13-php自動加載機制
- 14-MongoDB命令
- 15-Python爬蟲之scrapy框架
- 16-php運行原理
- 17-單點登錄
- Linux
- linux常見命令
- awk
- sed
- bash-shell
- vim學習教程
- PHP
- php運行機制
- php執行效率
- word2pdf
- php預覽Word
- wechat_wafter2
- Python
- python
- win-bat
- svn操作命令
- git常用操作命令
- git_install
- gitlab安裝
- nextcloud
- docker