一、官方文件安裝docker ce:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 確認刪除docker相關
sudo yum install -y yum-utils \
lvm2
#更新相關工具
sudo yum-config-manager \
--add-repo \
#增加docker倉庫
sudo yum install docker-ce docker-ce-cli containerd.io
#安裝docker-ce
二、使用映象:
1.搜尋映象
docker search [映象名]
比如:docker search ubuntu
docker pull [選項] [docker registry位址]《倉庫名》:《標籤》
#不給出 docker registry位址的話就是使用docker官方的docker hub
不給出使用者名稱使用預設的library,也就是官方映象
###配置國內映象加速源(使用daocloud映象加速器):
curl -ssl | sh -s
#詳細文件 只用於虛擬機器,物理機。在雲上使用有各自雲上的映象加速器,詳細訪問所屬雲的文件
3.檢視映象
docker images
額外概念:虛懸映象(dangling image),中間層映象 -a選項顯示所有映象
列出部分映象:
docker images ubuntu #根據映象名列出映象,也可使用倉庫名加標籤
使用過濾器引數 --filter 或簡寫 -f
docker images -f since=ubuntu #列出在ubuntu之後建立的映象。before=ubuntu可以看到ubuntu之前建立的映象
label= #使用標籤列出映象
使用特定格式顯示
docker images -q #僅顯示映象的id,配合--filter尋找無用映象id方便刪除
docker images --format "}:}"
c582c1438f27: fedora
cd6d8154f1e1: ubuntu
#引號裡的string用go的模板語法
4.執行容器(比喻:映象是python裡的類,容器是pythonl裡的例項):
docker run
比如:docker run -it --rm ubuntu:14.04 [command]
-it 互動操作,發起終端
--rm 容器退出後將其刪除。因為一般容器退出並不會刪除除非手動刪除
docker run -d -p 91:80 nginx
-d 後台執行
-p 對映埠
四種對映方式:
ip:hostport:containerport
ip:containerport
hostport:containerport
containerport
進入容器nginx的linux
1、docker exec -it [containerid] /bin/bash
2、檢視容器的pid:
docker inspect --format "}" mynginx
5.停止容器
docker stop [containerid]
6.刪除容器
docker rm [containerid]
停止所有容器:docker stop $(docker ps -a -q)
刪除所有容器:docker rm $(docker ps -a -q)
三、docker資料管理:
1、資料卷
-v /data src:dst
$sudo docker run -it --name volume-test1 -h lee -v /data centos
切換到另乙個ssh上 $sudo docker inspect --format "}" volume-test1可以檢視data位置(檢視為空
map[/data:{}])則使用$sudo docker inspect volume-test1 | grep mounts -a 10
指定對映目錄(檔案):
docker run -it --name volume-test2 -h volume-test2 -v /opt:/opt centos(-v引數和-p格式差不多)
2.資料卷容器(將容器目錄掛載到另乙個容器)
--volumes-from
$sudo docker run -it --name volume-test3 --volume-from volume-test1 centos
####在docker執行容器後,有時我們需要再次進入容器進行操作時,那就有以下幾種方式了:
以下方法需要知道容器id,首先需要
docker ps #在結果中找到你需要進入的容器的id
1.使用docker attach進入容器
docker attach container_id #進入該id的容器
2.使用docker exec進入容器(這個選項是在在docker1.3版本之後加入的)
docker exec -it container_id /bin/bash #進入該id的容器
3.使用nsenter命令進入容器,需要先安裝nsenter()
4.ssh進入容器(不推薦)
為什麼不推薦使用ssh進入容器呢?
三、搭建服務
docker搭建wordpress:
docker run --name db --env mysql_root_password='123456' -d mariadb
docker run --name mywordpress --link db:mysql -p 8080:80 -d wordpress
docker搭建gitlab:
1.安裝postgresql:
docker run --name gitlab-postgresql -d \
--env 'db_name=gitlabhq_production' \
--env 'db_user=gitlab' --env 'db_pass=password' \
sameersbn/postgresql:9.4-12
2.安裝redis:
docker run --name gitlab-redis -d sameersbn/redis:latest
3.安裝gitlab:
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 10080:80 \
--env 'gitlab_port=10080' --env 'gitlab_ssh_port=10022' \
--env 'gitlab_secrets_db_key_base=long-and-random-alpha-numeric-string' \
sameersbn/gitlab:8.4.4
docker的安裝和基礎使用
docker ee docker ce簡介與版本規劃 版本區別 docker ee docker ee由公司支援,可在經過認證的作業系統和雲提供商中使用,並可執行來自docker store的 經過認證的容器和外掛程式。docker ee提供三個服務層次 服務層級 功能 basic 包含用於認證基礎...
Docker的基礎使用
docker 使用文件注 本文件不是教程,而是針對記錄docker的基礎操作。方便筆者以後使用 筆者記性不好,記不住命令 本機 ubuntu16.04.2 已配好docker環境 容器使用 新建容器 sudo docker run i t ubuntu 16.04 bin bash 後台執行容器 s...
《Docker的使用》 一 安裝Docker
本次安裝基於centos系統進行講解 1 首次安裝需設定docker倉庫 sudo yum install y yum utils lvm2 設定阿里雲倉庫位址 sudo yum config manager add repo 2 安裝最新版本的docker yum install docker c...