博客
关于我
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/

你可能感兴趣的文章
Python“文件存在“制作目录时出错
查看>>
Python“文件存在“制作目录时出错
查看>>
Python、IMAP 和 GMail.将消息标记为已查看
查看>>
python一个一个获取迭代器的元素
查看>>
python一维数组 提取_python – 如何从numpy中的1维数组中提取零维切片
查看>>
python三大库之--numpy(一)
查看>>
python三大库之--numpy(二)
查看>>
python上的字无效字符_标识中的无效字符
查看>>
python下用decode和encode 中文转码
查看>>
Python下调用Linux的Shell命令
查看>>
Python接口自动化测试实战系列
查看>>
python下载_安装_配置_以及第一行python程序---python工作笔记009
查看>>
Python不协调机器人消息.内容
查看>>
Python与C#之间内存共享互传信息
查看>>
python与c语言混合编程_你试过C语言和Python一起混合编程吗?两者相加不是已经无敌了!...
查看>>
python与excel
查看>>
Python与Excel的完美邂逅:深入浅出,手把手教你轻松玩转Excel数据操作
查看>>
python与flask_Python编程中flask的简介与简单使用
查看>>
python与图灵机器人交互(WXPY版本)
查看>>
python与运算符_python运算符
查看>>