docker介紹使用

2022-06-29 13:45:13 字數 3406 閱讀 6495

docker核心解決的問題是利用lxc來實現類似vm的功能,從而利用更加節省的硬體資源提供給使用者更多的計算資源。

使用者需要考慮虛擬化方法,尤其是硬體虛擬化方法,需要借助docker解決的主要是以下4個問題:

lxc所實現的隔離性主要是來自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace將container的程序, 網路, 訊息, 檔案系統和hostname 隔離開。

1)解除安裝舊版本docker

sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

2)先安裝docker倉庫

// 安裝yum-utils提供yum-config-manager工具

sudo yum install -y yum-utils

//配置倉庫位址,這裡配置阿里雲映象位址

sudo yum-config-manager \

--add-repo \

3)安裝docker

# ce社群版 

sudo yum install docker-ce docker-ce-cli containerd.io

4)啟動docker

sudo systemctl start docker

5)執行hello world映象

sudo docker run hello-world

6)配置阿里雲映象倉庫

# 您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'eof'

eofsudo systemctl daemon-reload

sudo systemctl restart docker

1. 啟動乙個容器執行映象

docker run -d -p 80:80 docker/getting-started

2. 容器之間可能需要互相訪問,如乙個應用程式需要訪問mysql資料庫

1)建立乙個橋接模式區域網

應用程式容器和資料庫容器繫結到同乙個區域網中

docker network create mynet

2)啟動資料庫容器

docker run -d \

--network mynet --network-alias mysql \

-v mysql-data:/var/lib/mysql \

-e mysql_root_password=secret \

-e mysql_database=todos \

mysql:5.7

-v:本地目錄檔案到容器檔案對映。

3)登陸容器中的資料庫

hebinhuademacbook-pro:docker tency$ docker exec -it 99f2f430e885 mysql -p

enter password:

welcome to the mysql monitor. commands end with ; or \g.

your mysql connection id is 2

server version: 5.7.33 mysql community server (gpl)

oracle is a registered trademark of oracle corporation and/or its

affiliates. other names may be trademarks of their respective

owners.

type 'help;' or '\h' for help. type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| todos |

+--------------------+

5 rows in set (0.01 sec)

1. 檢視docker-compose版本

docker-compose version

2. 建立docker-compose.yml檔案

1)確定compose-file版本跟docker引擎版本對應,檢視:

version: "3.7"

2)編輯docker-compose.yml檔案

version: "3.7"

services:

image: node:12-alpine

command: sh -c "yarn install && yarn run dev"

ports:

- 3000:3000

volumes:

environment:

mysql_host: mysql

mysql_user: root

mysql_password: secret

mysql_db: todos

mysql:

image: mysql:5.7

volumes:

- todo-mysql-data:/var/lib/mysql

environment:

mysql_root_password: secret

mysql_database: todos

volumes:

todo-mysql-data:

3)啟動應用容器命名docker-compose up

docker-compose up -d

-d: 後台掛起

2. 檢視編排映象命令

docker image history docker/getting-started  

Docker 介紹及使用

容器化是軟體開發的一種方法,通過該方法可以將應用程式或服務 其依賴項及其配置一起打包為容器映像。容器化應用程式可以作為乙個單元進行測試,並可以作為容器映像例項,部署到主機作業系統。軟體容器充當軟體部署的標準單元,it和軟體開發人員可以進行極少的改動,即可將其部署到不同的環境。容器還會在共享os上講應...

Docker映象介紹與簡單使用

映象的使用 什麼是映象?映象的操作 映象名由兩部分構成 標籤 映象完整名稱格式 注意 案例 拉取最新版本的nginx映象 格式1 root localhost docker image pull nginx latest 格式2 root localhost docker image pull ng...

Docker 基本命令使用介紹

docker命令列學習 docker run docker run help 老實說這條最管用了 docker run it 互動模式,允許控制台輸出 docker run d detach,以後臺程序的形式執行,可以與 it同時生效 docker run name your docker name...