1つは、Dockerをインストールする
1.1Linuxバージョンを表示する
cat /etc/redhat-release
1.2必要なライブラリをインストールする
# yum-utils 提供了 yum-config-manager
# device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
yum install yum-utils device-mapper-persistent-data lvm2
1.3 Alibaba Cloud ImageWarehouseのセットアップと使用
# 设置镜像仓库,使用阿里云镜像地址,配置存放在/etc/yum.repos.d/docker-ce.repo中
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 yumパッケージインデックスを更新し、dockerをインストールし、開始します
# 更新yum软件包索引
yum makecache fast
# 安装docker-ce(centos7),docker-io(centos6)
yum -y install docker-ce
# 启动
systemctl start docker
# 查看状态
systemctl status docker
# 查看版本
docker version
2つ目は、ミラーアクセラレーションを構成する
2.1自分のミラーアクセラレーションアドレスを見つけるには、自分のアカウントにログインして自分のアドレスを見つける必要があります
2.2アクセラレーション設定ファイルを変更する
# 没有就新建配置文件,有就修改
vim /etc/docker/daemon.json
次のjson文字列を追加します(アドレスに独自の専用アドレスを入力します)
{
"registry-mirrors": ["https://hq5nabsr.mirror.aliyuncs.com"]
}
# 网易云地址
{
"registry-mirrors": ["https://hub-mirror.c.163.com/"]
}
2.3Dockerを更新して再起動します
# 刷新、重启
systemctl daemon-reload
systemctl restart docker
3つの基本的なコマンド
3.1ミラーコマンド
# 列出本机所有的镜像
docker images
# 可以跟参数
-a //列出所有
-q //只显示id
--digests //显示摘要信息
--no-trunc //显示完整信息
# 查找官方网站中某个镜像
docker search tomcat
# 下载tomcat镜像。后边不跟版本号,表示latest
docker pull tomcat
# 删除镜像,不加版本号默认是latest
docker rmi tomcat
# 强制删除某个镜像
docker rmi -f tomcat
# 强制删除多个
docker rmi -f tomcat nginx
# 强制删除所有
docker rmi -f $(docker images -qa)
3.2コンテナコマンド
3.2.1インタラクティブコンテナを開始する
# 新建并启动启动交互式容器
docker run -it centos
-i // 以交互模式运行容器,通常与-t同时使用
-t // 为容器重新输入一个伪输入终端,与-i一起使用
--name // 给容器起个名字
# 列出当前所有正在运行的容器
docker ps -lq
-l //最近运行的一个容器
-q //只显示容器id
-n //后边跟最近几个运行的容器
-a //列出所有
# 启动容器
docker start 容器ID或名字
# 重启容器
docker restart 容器ID或名字
# 停止容器
docker stop 容器ID或名字
# 强制停止容器
docker kill 容器ID或名字
# 删除停止的容器
docker rm 容器ID或名字
# 强制删除某个容器(可以是运行中的)
docker rm -f 容器ID或名字
# 强制删除所有,包括运行中的
docker rm -f $(docker ps -qa)
# 同上,删除多个容器
docker ps -qa | xargs docker rm
3.2.2デーモン(バックグラウンドで実行)コンテナの起動
# 新建并启动守护式容器,也就是后台运行的进程
docker run -d centos
# 查看容器日志
docker logs -f -t --tail 5 容器ID
-f // 跟随最新的日志打印
-t // 加入时间戳
--tail // 显示最后5条日志
# 查看容器内进程
docker top 容器id
# 查看容器内部细节
docker inspect 容器ID
3.2.3コンテナを終了します
# 停止并退出容器
exit
# 不停止、退出容器
ctrl+P+Q
3.2.4終了したが停止していないコンテナに再入する
# 进入某个退出但未停止的容器
docker attach 容器ID
# 同上,进入容器
docker exec -it 容器ID /bin/bash
# 不进入,查询容器某个目录
docker exec -it 容器ID ls -lh /tmp
3.2.5コンテナ内のデータをホストにコピーします
# 拷贝容器中的某个文件到主机某个目录
docker cp 容器ID:/root/test.txt /root
docker cp 容器名字:/root/test.txt /root
3.2.6ホストファイルをdockerにコピーします
# 拷贝主机文件到docker
docker cp /root/test/test.conf 容器ID:/root/test/
docker cp /root/test/test.conf 容器名字:/root/test/
3.3コンテナのデータ量:コンテナとホスト間のデータ共有とデータの永続性を実現します
3.3.1コマンドライン-vadd
# docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /hostData:/containerData centos
3.3.2DockerFile追加
dockerfileファイルを手動で書き込む |
docker buildコマンドを実行して、カスタムイメージを取得します |
docker run image |
4つの一般的なソフトウェアのインストール
4.1mysqlをインストールします
# 拉取mysql
docker pull mysql
# 查看
docker images
# 启动运行容器
# 第一行:主机端口12345映射到docker的3306
# 第二行:主机和容器的配置文件挂载
# 第三行:主机和容器的日志目录挂载
# 第四行:主机和容器的data目录挂载
# 第五行:初始化root密码
# 第六行:后台运行mysql
docker run -p 12345:3306 --name mysql
-v /wenlong/mysql/conf:/etc/mysql/conf.d
-v /wenlong/mysql/logs:/logs
-v /wenlong/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql
NavicatまたはSQLyogを使用してリモート接続する場合は、認証が必要になる場合があります
# 登录docker
docker exec -it 43103e45832f /bin/bash
# 登录
mysql -uroot -p
# 登录后授权可以从任何地方使用root用户访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
flush privileges;
# 退出
exit
4.2Redisをインストールする
# 拉取redis
docker pull redis
# 第一行:启动容器,端口号6379
# 第二行:数据目录挂载
# 第三行:配置文件目录挂载
# 第四行:后台启动redis redis-server,配置文件是redis.conf
# 第五行:开启持久化
docker run -p 6379:6379
-v /wenlong/redis/data:/data
-v /wenlong/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
# 宿主机连接redis
docker exec -it 运行中的容器ID redis-cli
# 当容器退出时,数据被持久化保存
# 保存位置:标识在上边启动容器命令行第二行中
# 宿主机在/wenlong/redis/data/;容器在/data/中
vim /wenlong/redis/data/appendonly.aof
# 登录容器查看data
docker exec -it 运行中的容器ID /bin/bash
redis-desktop-managerツールを使用して閲覧することもできます