美文网首页
DOCKER安装及配置/进入运行环境

DOCKER安装及配置/进入运行环境

作者: LittleTrue | 来源:发表于2020-01-31 17:50 被阅读0次

初步安装

yum update -y
yum -y install docker
systemctl start docker

设置来源镜像

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}

run命令配置参数运行环境, 拉取镜像

docker run [options] image[:tag|digest] [command] [ags...]

示例:
docker run -d --name user_center \
  --restart=always \
  #映射到宿主机目录,这样我们就直接在/home/wwwroot/user_center开发
  -v /home/wwwroot/user_center:/hyperf-skeleton \ 
  # 9501提供http服务,9504提供json-rpc服务
  -p 9501:9501 -p 9504:9504 \ 
  -it 
  --entrypoint /bin/sh \
  #指定下载的镜像环境
  hyperf/hyperf:7.3-alpine-cli
options参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;     //相当于在本地添加了一个系统

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-w, --workdir="" 指定容器的工作目录

-c, --cpu-shares=0 设置容器CPU权重,在CPU共享场景使用

-e, --env=[] 指定环境变量,容器中可以使用该环境变量

-m, --memory="" 指定容器的内存上限

-P, --publish-all=false 指定容器暴露的端口

-p, --publish=[] 指定容器暴露的端口

--name="" 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

-h, --hostname="" 指定容器的主机名

-v, --volume=[] 给容器挂载存储卷,挂载到容器的某个目录

--volumes-from=[] 给容器挂载其他容器上的卷,挂载到容器的某个目录

--cap-add=[] 添加权限,权限清单详见:[http://linux.die.net/man/7/capabilities](http://linux.die.net/man/7/capabilities)

--cap-drop=[] 删除权限,权限清单详见:[http://linux.die.net/man/7/capabilities](http://linux.die.net/man/7/capabilities)

--cidfile="" 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法

--cpuset="" 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU

--device=[] 添加主机设备给容器,相当于设备直通

--dns=[] 指定容器的dns服务器

--dns-search=[] 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件

--entrypoint="" 覆盖image的入口点

--env-file=[] 指定环境变量文件,文件格式为每行一个环境变量

--expose=[] 指定容器暴露的端口,即修改镜像的暴露端口

--link=[] 指定容器间的关联,使用其他容器的IP、env等信息

--lxc-conf=[] 指定容器的配置文件,只有在指定

--exec-driver=lxc时使用

--net="bridge" 容器网络设置: bridge 使用docker daemon指定的网桥 host //容器使用主机的网络 container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源 none 容器使用自己的网络(类似--net=bridge),但是不进行配置

--privileged=false 指定容器是否为特权容器,特权容器拥有所有的capabilities

--restart="no" 指定容器停止后的重启策略: no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启

--rm=false 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)

--sig-proxy=true 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

run 运行容器时, 将容器内部文件与外部文件夹进行映射

目的:

  • docker容器不保持任何数据
  • 重要数据请使用外部卷存储(数据持久化)
  • 容器可以挂载真实机目录或共享存储为卷
  • 配置文件等映射外部, 由外部进行直接修改

docker create + docker start = docker run
create参数和run参数基本一直。

docker create -it -p [外部端口]:[容器端口] -v /tmp/skeleton:/hyperf-skeleton  --privileged --name [容器名] [镜像id/名] /bin/bash

使用docker镜像创建一个容器, 但是不启动它, 镜像如果在本地没有则在云端仓库拉取

docker start [容器id/名] 

docker run -v /tmp/skeleton:/hyperf-skeleton 
外部/tmp/skeleton与容器内的hyperf-skeleton 相关联, run命令是create和start的结合。


docker进入容器内部进行配置

使用docker exec进入Docker容器
接下来我们使用该命令进入一个已经在运行的容器

查看运行中的容器
docker ps  

使用镜像id运行容器
docker  start 5ec1b41ea352 

以bash 命令模式进入运行中的容器
docker exec -it 5ec1b41ea352 /bin/bash  

普通的进入容器
docker attach 5ec1b41ea352 
图片.png
退出或者关闭容器
#退出
exit

#关闭
docker stop [image name]

#重启
docker start [image name]
退出时保持容器运行

退出时,使用[ctrl + D],这样会结束docker当前线程,容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行


镜像容器运行后,并在容器内安装 Composer

先下载 Composer 进 docker 容器内

wget https://mirrors.aliyun.com/composer/composer.phar
修改执行权限
此操作是为了解决 Composer 不允许 root 权限执行的限制
同时为切换用户时,可以直接操作
生产环境下不推荐 777 授权方式
chmod -R 777 ./composer.phar
移动 composer 至 bin 目录下面,并且改名为 composer
mv composer.phar /usr/local/bin/composer
将 Composer 镜像设置为阿里云镜像,加速国内下载速度
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
composer安装提示内存不足

使用以下命令启动交换区1M

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

相关文章

网友评论

      本文标题:DOCKER安装及配置/进入运行环境

      本文链接:https://www.haomeiwen.com/subject/xdpmtqtx.html