docker日常使用基本命令
基础启动命令
docker run -d --restart=always --name 服务名 -p 8001:8001 -e TZ=Asia/Shanghai 镜像名
docker run -d --restart=always --name 服务名 -p 27002:27002/udp -e TZ=Asia/Shanghai udpserver:1.0
# -d后台运行
# -restart=always重启操作
# -p 8001:8001 端口映射 前面为对外端口 后面为容器内端口 可以用多个 -p 80:8000 -p 22:2222 默认tcp,加/udp映射UDP端口
# -e 时区指定
查看运行日志
docker logs -f --tail 100 服务名或唯一id
查看images和运行的进程和所有的进程
docker images
docker ps
docker ps -a
打包命令
docker build -t udpserver:1.0 ./
Dockerfile文件举例,python3.8运行,拷贝requirements.txt和代码文件,安装工具包,执行运行命令
FROM python:3.8
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
COPY http_server.py ./
COPY config.py ./
CMD [ "python", "./http_server.py" ]
建立一个公共服务(以mysql举例、redis举例)
# mkdir /data/mysql/data
# sudo chmod -R 777 /data/mysql/data
docker pull mysql
docker run -itd --name mysql-alarm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=liuyang123456 -v /data/mysql/data:/var/lib/mysql mysql
docker exec -it mysql-alarm bash
root@665d51892cd0:/# mysql -uroot -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'liuyang123456';
flush privileges;
Navicat for mysql导入数据库表或者建表
docker pull redis:latest
docker run -itd --restart=always --name redis-qd -p 6379:6379 redis
docker exec -it redis-qd redis-cli
docker exec -it redis-qd bash
[root@localhost redis]# docker exec -it redis-qd redis-server -v
Redis server v=7.0.0 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=a1148e16d7bfb2fc
http://download.redis.io/releases/
下载对应版本的redis包,导出redis.conf
[root@localhost /]# sudo mkdir redis && chmod -R 777 redis
docker run -d --privileged=true -p 6379:6379 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis redis redis-server /etc/redis/redis.conf --appendonly yes
docker run -d --restart=always --privileged=true -p 6379:6379 -v /redis/redis.conf:/etc/redis/redis.conf --name redis redis redis-server /etc/redis/redis.conf
关闭selinux 重启电脑
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件 redis文件记得修改,比如外部访问、密码、最大内存使用,回收策略等
-v /docker/redis/data:/data:映射数据目录
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
--appendonly yes:开启数据持久化
打包镜像及离线导入安装(以mysql举例)
docker save mysql:latest > mysql.tar
docker load < mysql.tar
版权说明
本文地址:http://www.liuyangdeboke.cn/?post=12
未标注转载均为本站远程,转载请注明文章出处:
发表评论