博客
关于我
Docker--安装使用
阅读量:578 次
发布时间:2019-03-11

本文共 2934 字,大约阅读时间需要 9 分钟。

Docker简介

Docker是一款开源的应用容器引擎,基于go语言开发,遵循Apache 2.0协议。其核心优势在于通过沙箱机制独立运行每个容器,确保容器间接口最低,安全性高,同时启动速度快、资源占用小。

Docker 安装

1. 安装 Docker 仓库

在新主机上安装 Docker Engine-Community 之前,需先设置 Docker 仓库。完成后即可从仓库安装和更新 Docker。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum makecache fast

2. 安装 Docker 引擎

2.1 安装最新版本

默认安装最新社区版 Docker 引擎及容器工具:

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

2.2 安装特定版本

列出可用版本并安装指定版本:

yum list docker-ce --showduplicates | sort -rsudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io

Docker 管理

_containerd.io _是 Docker 安装时的基础组件。

systemctl status dockersystemctl stop dockersystemctl start docker

注意:执行容器操作前,确保 Docker 引擎已运行。

镜像管理

镜像是 Docker 容器操作的基础,通过镜像名搜索并下载镜像。

docker search image_namedocker search --filter "is-official=true" image_namedocker search --filter "is-automated=true" image_namedocker search --filter stars=3 image_namedocker pull image_namedocker imagesdocker images image_namedocker rmi image_namedocker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name

容器管理

1. 容器基础操作

创建、查看、启动、停止及退出容器。

docker run -itd --name=container_name image_namedocker psdocker ps -adocker ps -ldocker start container_name/container_iddocker stop container_name/container_iddocker restart container_name/container_iddocker rm container_name/container_iddocker exec -it container_name/container_id /bin/bashexit

2. 容器高级操作

端口映射、文件挂载及互联。

docker run -itd --name=container_name -p 宿主机端口号:容器端口号 image_namedocker run -itd --name=container_name -p 8888:80 -v /usr/local/zy/web01.html:/usr/share/nginx/html/index.html nginxdocker cp 容器名:目录/文件(夹) 宿主机目录/文件(夹)docker cp 宿主机目录/文件(夹) 容器名:目录/文件(夹)

容器间互联有三种主要方式,常用–link 参数实现。

常见案例

数据库和 Web 服务器的容器化实现:

# 创建数据库容器docker run -d --name mysqldb -p3306:3306 -e MYSQL_ROOT_PASSWORD=fanshine mysql/mysql-server# 创建并连接到数据库的 Web 容器docker run -d -p 80:80 --name nginxweb --link mysqldb:mysqldb nginx/nginx-server

#.install MySQL

拉取官方镜像

docker pull mysql

创建挂载目录

mkdir -p /var/cnmp/

启动 MySQL 容器

cd /var/cnmp/docker run -itd -p 3306:3306 --name mysql -v $pwd/mysql/conf:/etc/mysql/conf.d -v $pwd/mysql/logs:/var/logs -v $pwd/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysql

使用数据库

docker exec -it mysql /bin/bashmysql -uroot -p123456show databases;create database db01;use db01;create table t_book(id int not null primary key, bookName varchar(20));insert into t_book values(1, 'java');select * from t_book;

修改加密方式(如需)

use mysql;ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';FLUSH PRIVILEGES;

Aliyun 安装 Jenkins

拉取镜像

docker pull jenkins

启动 Jenkins 容器

docker run -itd --name=jenkins -p8080:8080 jenkins

安装和配置

如需配置 Jenkins 实例,访问容器控制台并按提示操作。

docker exec -it jenkins /bin/bashcat /var/jenkins_home/secrets/initialAdminPassword

转载地址:http://lsztz.baihongyu.com/

你可能感兴趣的文章
PHP SPL标准库-迭代器
查看>>
php static 变量
查看>>
PHP Static延迟静态绑定
查看>>
php str_pad();
查看>>
PHP study 环境变量composer
查看>>
PHP trim() 函数
查看>>
php unicode编码转成unioce字符(中文)
查看>>
php url路径问题和php文件以绝对路径引入
查看>>
PHP WebSehll 后门脚本与检测工具
查看>>
ReentrantLock源码解析
查看>>
PHP XSS攻击防范--如何过滤用户输入
查看>>
php zookeeper实现分布式锁
查看>>
PHP 中 this,self,parent 的区别、用法
查看>>
PHP 中如何高效地处理大规模数据的排序?
查看>>
PHP 之ftp客户端类封装实现
查看>>
php 代码改进
查看>>
php 代码混淆
查看>>
PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
查看>>
Redis系列之如何避免缓存击穿
查看>>
php 内存分析
查看>>