docker

start downloaded container: docker start hash or name from docker ps -a

docker build ./ -t findli/ubuntu_base:18_03_2023

************
docker-compose:
    build:
      context: ./frontend - контекст это директория в которой будет искаться dockerfile
      dockerfile: Dockerfile
равнозначно:
    build:
      #context: ./frontend
      dockerfile: frontend/Dockerfile
************
************

**********
error: 
when docker-compose up --force-recreate --build --remove-orphans langapp-back
strconv.Atoi: parsing "": invalid syntax
to fix: comment existing containers in docker-compose.yaml file.
replace them by something else.
then docker compose up --remove-orphans
then revert suspicious containers in docker-conpose file then docker compose up will work.
src: https://github.com/docker/compose-cli/issues/1537#issuecomment-1284828193 
**********
**********

https://stackoverflow.com/a/52084817/2910338
docker-compose down was very important as I was seeing no changes despite restarting docker-compose. MYSQL_DATABASE is a required variable in this case


чтобы обновлялись RUN надо build делать 

The only way to force a rebuild is by making sure that a layer before it has changed, or by clearing the build cache using docker builder prune.

-d detached mode 
 -> watch docker log id

docker container ls
->docker kill --force id
        -> docker [container] rm -f id
docker builder prune src: https://docs.docker.com/build/cache/
docker system prune -a
docker system prune -a -f
docker system prune -a --volumes
docker system prune -a --volumes --force
docker system prune -a --volumes --force --all
docker system prune -a --volumes --force --all --filter "until=24h"
docker system prune -a --volumes --force --all --filter "until=24h" --filter "label=stage=build"

?? docker run -it --rm image_name run_tests.sh
src: https://stackoverflow.com/a/71924239/2910338

docker build --no-cache ./ -t langapp/front_30_03_2023 пересобрать без кеша

concurrent:
docker-compose can be made to take advantage of those extra CPU cores by adding the --parallel switch

Using these environment variables means their values will be visible to anyone able to docker inspect your container. A more secure approach is to use Docker secrets or volumes to inject values as files.
The MySQL image supports an additional variant of each of the above variables. Suffix a variable’s name with _FILE to have its value interpreted as a path to a file containing the real value. This example securely sets the root user’s password in a way that can’t be inspected from outside the container:
mkdir secrets
echo "P@$$w0rd" > secrets/mysql-root-password

docker run --name mysql -d \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root-password \
    -v ./secrets:/run/secrets \
    --restart unless-stopped \
    mysql:8





~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~

docker login если ошибка доступа то перезагрузить докер на винде либо docker-machine restart default # Restart the environment $ eval $(docker-machine env default) # Refresh your environment settings.

repository it's a group name

если в mysql/postgres образах сохраняются базы то docker-compose down. дело в том что создается локальная volume в которой хранятся база и при перезапуске база остается той же. src: https://stackoverflow.com/a/48630924/2910338
$ docker-compose down <-------!!!!!!!!!!!!!!
$ docker-compose build
$ docker-compose up


docker-compose -d service_name -d это background

docker logs name

docker-compose up --force-recreate это чтобы пересоздавались контейнеры.
docker-compose rm -f

docker run ... --name pg-master
ware
publish image to hub:
$ docker tag local-image:tagname reponame:tagname
    $ docker tag image_id(repository local name):latest findli/ubuntu(repo name):kafka(name for pull)
$ docker push reponame:tagname
    $ docker push findli/ubuntu(repo name):kafka(name for pull)


подрубиться к запущенному контейнеру
docker exec -it image_id sh

или 
docker attach container_id чтобы прям к стартовой консоли подрубиться
to detach from the container without stopping it, type Ctrl+p then Ctrl+q.

список запущенных
docker ps

список образов
docker images

// todo
@janmchan I had exactly the same problem with dotnet and docker. Turned out that the directory I was trying to COPY was ignored by .dockerignore (which in turn was generated by dotnet itself). Once I changed .dockerignore, everything worked.

удалить все образы.
docker images | xargs docker rmi -f
docker rmi -f (docker images -a -q | awk '!/f05d2314ace2/')

вырубить все активные контейнеры, если зависло.
docker ps | xargs docker kill


---------------

Your container will exit as the command you gave it will end. Use the following options to keep it live:
* -i Keep STDIN open even if not attached.
* -t Allocate a pseudo-TTY.
So your new run command is:
docker run -it -d shykes/pybuilder bin/bash
If you would like to attach to an already running container:
docker exec -it CONTAINER_ID /bin/bash
In these examples /bin/bash is used as the command.

----------
imagelist of images
run image_name
build -t image_name path
tag the_image_ID account_name/image_name:applied_tag_name$ docker tag 7d9495d03763 maryatdocker/docker-whale:latest
login --username=yourhubusername --email=youremail@company.com
push maryatdocker/docker-whale
rmi -f 7d9495d03763 $
rmi -f docker-whale

sudo docker run -ti --rm -v $(pwd):/app miiix/composer:miiix install
sudo docker run -ti --rm -v $(pwd):/app miiix/composer:miiix



 

Комментарии

Популярные сообщения из этого блога

kafka конспект однако

Дэвид Рок: Ваш мозг на работе - Разговоры в Гугле

Отслеживание Процесса загрузки с PHP и JavaScript